[2019-07-18]session 、cookie、token的區(qū)別及聯(lián)系

session

??session的中文翻譯是“會(huì)話”,當(dāng)用戶打開(kāi)某個(gè)web應(yīng)用時(shí),便與web服務(wù)器產(chǎn)生一次session。服務(wù)器使用session把用戶的信息臨時(shí)保存在了服務(wù)器上,用戶離開(kāi)網(wǎng)站后session會(huì)被銷(xiāo)毀。這種用戶信息存儲(chǔ)方式相對(duì)cookie來(lái)說(shuō)更安全,可是session有一個(gè)缺陷:如果web服務(wù)器做了負(fù)載均衡,那么下一個(gè)操作請(qǐng)求到了另一臺(tái)服務(wù)器的時(shí)候session會(huì)丟失。


cookie

??cookie是保存在本地終端的數(shù)據(jù)。cookie由服務(wù)器生成,發(fā)送給瀏覽器,瀏覽器把cookie以kv形式保存到某個(gè)目錄下的文本文件內(nèi),下一次請(qǐng)求同一網(wǎng)站時(shí)會(huì)把該cookie發(fā)送給服務(wù)器。由于cookie是存在客戶端上的,所以瀏覽器加入了一些限制確保cookie不會(huì)被惡意使用,同時(shí)不會(huì)占據(jù)太多磁盤(pán)空間,所以每個(gè)域的cookie數(shù)量是有限的。

? ? ?cookie的組成有:名稱(chēng)(key)、值(value)、有效域(domain)、路徑(域的路徑,一般設(shè)置為全局:"\")、失效時(shí)間、安全標(biāo)志(指定后,cookie只有在使用SSL連接時(shí)才發(fā)送到服務(wù)器(https))。下面是一個(gè)簡(jiǎn)單的js使用cookie的例子:

用戶登錄時(shí)產(chǎn)生cookie:

document.cookie?=?"id="+result.data['id']+";?path=/";

document.cookie?=?"name="+result.data['name']+";?path=/";

document.cookie?=?"avatar="+result.data['avatar']+";?path=/";

使用到cookie時(shí)做如下解析:

var?cookie?=?document.cookie;var?cookieArr?=?cookie.split(";");var?user_info?=?{};for(var?i?=?0;?i?<?cookieArr.length;?i++)?{

????user_info[cookieArr[i].split("=")[0]]?=?cookieArr[i].split("=")[1];

}

$('#user_name').text(user_info['?name']);

$('#user_avatar').attr("src",?user_info['?avatar']);

$('#user_id').val(user_info['?id']);


token

? ? ?token的意思是“令牌”,是用戶身份的驗(yàn)證方式,最簡(jiǎn)單的token組成:uid(用戶唯一的身份標(biāo)識(shí))、time(當(dāng)前時(shí)間的時(shí)間戳)、sign(簽名,由token的前幾位+鹽以哈希算法壓縮成一定長(zhǎng)的十六進(jìn)制字符串,可以防止惡意第三方拼接token請(qǐng)求服務(wù)器)。還可以把不變的參數(shù)也放進(jìn)token,避免多次查庫(kù)

cookie?和session的區(qū)別

1、cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上。

2、cookie不是很安全,別人可以分析存放在本地的COOKIE并進(jìn)行COOKIE欺騙

考慮到安全應(yīng)當(dāng)使用session。

3、session會(huì)在一定時(shí)間內(nèi)保存在服務(wù)器上。當(dāng)訪問(wèn)增多,會(huì)比較占用你服務(wù)器的性能

考慮到減輕服務(wù)器性能方面,應(yīng)當(dāng)使用COOKIE。

4、單個(gè)cookie保存的數(shù)據(jù)不能超過(guò)4K,很多瀏覽器都限制一個(gè)站點(diǎn)最多保存20個(gè)cookie。

5、所以個(gè)人建議:

將登陸信息等重要信息存放為SESSION

其他信息如果需要保留,可以放在COOKIE中

token 和session?的區(qū)別

? ? session?和?oauth token并不矛盾,作為身份認(rèn)證?token安全性比session好,因?yàn)槊總€(gè)請(qǐng)求都有簽名還能防止監(jiān)聽(tīng)以及重放攻擊,而session就必須靠鏈路層來(lái)保障通訊安全了。如上所說(shuō),如果你需要實(shí)現(xiàn)有狀態(tài)的會(huì)話,仍然可以增加session來(lái)在服務(wù)器端保存一些狀態(tài)

? ? App通常用restful api跟server打交道。Rest是stateless的,也就是app不需要像browser那樣用cookie來(lái)保存session,因此用session token來(lái)標(biāo)示自己就夠了,session/state由api server的邏輯處理。?如果你的后端不是stateless的rest api,?那么你可能需要在app里保存session.可以在app里嵌入webkit,用一個(gè)隱藏的browser來(lái)管理cookie session.


???Session?是一種HTTP存儲(chǔ)機(jī)制,目的是為無(wú)狀態(tài)的HTTP提供的持久機(jī)制。所謂Session?認(rèn)證只是簡(jiǎn)單的把User?信息存儲(chǔ)到Session?里,因?yàn)镾ID?的不可預(yù)測(cè)性,暫且認(rèn)為是安全的。這是一種認(rèn)證手段。?而Token?,如果指的是OAuth Token?或類(lèi)似的機(jī)制的話,提供的是 認(rèn)證 和 授權(quán) ,認(rèn)證是針對(duì)用戶,授權(quán)是針對(duì)App?。其目的是讓 某App有權(quán)利訪問(wèn) 某用戶 的信息。這里的?Token是唯一的。不可以轉(zhuǎn)移到其它?App上,也不可以轉(zhuǎn)到其它 用戶 上。?轉(zhuǎn)過(guò)來(lái)說(shuō)Session?。Session只提供一種簡(jiǎn)單的認(rèn)證,即有此?SID,即認(rèn)為有此?User的全部權(quán)利。是需要嚴(yán)格保密的,這個(gè)數(shù)據(jù)應(yīng)該只保存在站方,不應(yīng)該共享給其它網(wǎng)站或者第三方App。?所以簡(jiǎn)單來(lái)說(shuō),如果你的用戶數(shù)據(jù)可能需要和第三方共享,或者允許第三方調(diào)用?API?接口,用?Token?。如果永遠(yuǎn)只是自己的網(wǎng)站,自己的?App,用什么就無(wú)所謂了。

? token就是令牌,比如你授權(quán)(登錄)一個(gè)程序時(shí),他就是個(gè)依據(jù),判斷你是否已經(jīng)授權(quán)該軟件;cookie就是寫(xiě)在客戶端的一個(gè)txt文件,里面包括你登錄信息之類(lèi)的,這樣你下次在登錄某個(gè)網(wǎng)站,就會(huì)自動(dòng)調(diào)用cookie自動(dòng)登錄用戶名;session和cookie差不多,只是session是寫(xiě)在服務(wù)器端的文件,也需要在客戶端寫(xiě)入cookie文件,但是文件里是你的瀏覽器編號(hào).Session的狀態(tài)是存儲(chǔ)在服務(wù)器端,客戶端只有session id;而Token的狀態(tài)是存儲(chǔ)在客戶端。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

本文分別對(duì)Cookie與Session做一個(gè)介紹和總結(jié),并分別對(duì)兩個(gè)知識(shí)點(diǎn)進(jìn)行對(duì)比分析,讓大家對(duì)Cookie和Session有一個(gè)更深入的了解,并對(duì)自己的開(kāi)發(fā)工作中靈活運(yùn)用帶來(lái)啟示。

cookie機(jī)制

Cookies是服務(wù)器在本地機(jī)器上存儲(chǔ)的小段文本并隨每一個(gè)請(qǐng)求發(fā)送至同一個(gè)服務(wù)器。IETF RFC 2965 HTTP State Management Mechanism 是通用cookie規(guī)范。網(wǎng)絡(luò)服務(wù)器用HTTP頭向客戶端發(fā)送cookies,在客戶終端,瀏覽器解析這些cookies并將它們保存為一個(gè)本地文件,它會(huì)自動(dòng)將同一服務(wù)器的任何請(qǐng)求縛上這些cookies 。

具體來(lái)說(shuō)cookie機(jī)制采用的是在客戶端保持狀態(tài)的方案。它是在用戶端的會(huì)話狀態(tài)的存貯機(jī)制,他需要用戶打開(kāi)客戶端的cookie支持。cookie的作用就是為了解決HTTP協(xié)議無(wú)狀態(tài)的缺陷所作的努力。

正統(tǒng)的cookie分發(fā)是通過(guò)擴(kuò)展HTTP協(xié)議來(lái)實(shí)現(xiàn)的,服務(wù)器通過(guò)在HTTP的響應(yīng)頭中加上一行特殊的指示以提示瀏覽器按照指示生成相應(yīng)的cookie。然而純粹的客戶端腳本如JavaScript也可以生成cookie。而cookie的使用是由瀏覽器按照一定的原則在后臺(tái)自動(dòng)發(fā)送給服務(wù)器的。瀏覽器檢查所有存儲(chǔ)的cookie,如果某個(gè)cookie所聲明的作用范圍大于等于將要請(qǐng)求的資源所在的位置,則把該cookie附在請(qǐng)求資源的HTTP請(qǐng)求頭上發(fā)送給服務(wù)器。

cookie的內(nèi)容主要包括:名字,值,過(guò)期時(shí)間,路徑和域。路徑與域一起構(gòu)成cookie的作用范圍。若不設(shè)置過(guò)期時(shí)間,則表示這個(gè)cookie的生命期為瀏覽器會(huì)話期間,關(guān)閉瀏覽器窗口,cookie就消失。這種生命期為瀏覽器會(huì)話期的cookie被稱(chēng)為會(huì)話cookie。會(huì)話cookie一般不存儲(chǔ)在硬盤(pán)上而是保存在內(nèi)存里,當(dāng)然這種行為并不是規(guī)范規(guī)定的。若設(shè)置了過(guò)期時(shí)間,瀏覽器就會(huì)把cookie保存到硬盤(pán)上,關(guān)閉后再次打開(kāi)瀏覽器,這些cookie仍然有效直到超過(guò)設(shè)定的過(guò)期時(shí)間。存儲(chǔ)在硬盤(pán)上的cookie可以在不同的瀏覽器進(jìn)程間共享,比如兩個(gè)IE窗口。而對(duì)于保存在內(nèi)存里的cookie,不同的瀏覽器有不同的處理方式。

而session機(jī)制采用的是一種在服務(wù)器端保持狀態(tài)的解決方案。同時(shí)我們也看到,由于采用服務(wù)器端保持狀態(tài)的方案在客戶端也需要保存一個(gè)標(biāo)識(shí),所以session機(jī)制可能需要借助于cookie機(jī)制來(lái)達(dá)到保存標(biāo)識(shí)的目的。而session提供了方便管理全局變量的方式 。

session是針對(duì)每一個(gè)用戶的,變量的值保存在服務(wù)器上,用一個(gè)sessionID來(lái)區(qū)分是哪個(gè)用戶session變量,這個(gè)值是通過(guò)用戶的瀏覽器在訪問(wèn)的時(shí)候返回給服務(wù)器,當(dāng)客戶禁用cookie時(shí),這個(gè)值也可能設(shè)置為由get來(lái)返回給服務(wù)器。

就安全性來(lái)說(shuō):當(dāng)你訪問(wèn)一個(gè)使用session 的站點(diǎn),同時(shí)在自己機(jī)子上建立一個(gè)cookie,建議在服務(wù)器端的session機(jī)制更安全些,因?yàn)樗粫?huì)任意讀取客戶存儲(chǔ)的信息。

session機(jī)制

session機(jī)制是一種服務(wù)器端的機(jī)制,服務(wù)器使用一種類(lèi)似于散列表的結(jié)構(gòu)(也可能就是使用散列表)來(lái)保存信息。

當(dāng)程序需要為某個(gè)客戶端的請(qǐng)求創(chuàng)建一個(gè)session時(shí),服務(wù)器首先檢查這個(gè)客戶端的請(qǐng)求里是否已包含了一個(gè)session標(biāo)識(shí)(稱(chēng)為session id),如果已包含則說(shuō)明以前已經(jīng)為此客戶端創(chuàng)建過(guò)session,服務(wù)器就按照session id把這個(gè)session檢索出來(lái)使用(檢索不到,會(huì)新建一個(gè)),如果客戶端請(qǐng)求不包含session id,則為此客戶端創(chuàng)建一個(gè)session并且生成一個(gè)與此session相關(guān)聯(lián)的session id,session id的值應(yīng)該是一個(gè)既不會(huì)重復(fù),又不容易被找到規(guī)律以仿造的字符串,這個(gè)session id將被在本次響應(yīng)中返回給客戶端保存。

保存這個(gè)session id的方式可以采用cookie,這樣在交互過(guò)程中瀏覽器可以自動(dòng)的按照規(guī)則把這個(gè)標(biāo)識(shí)發(fā)揮給服務(wù)器。一般這個(gè)cookie的名字都是類(lèi)似于SEEESIONID。但cookie可以被人為的禁止,則必須有其他機(jī)制以便在cookie被禁止時(shí)仍然能夠把session id傳遞回服務(wù)器。

經(jīng)常被使用的一種技術(shù)叫做URL重寫(xiě),就是把session id直接附加在URL路徑的后面。還有一種技術(shù)叫做表單隱藏字段。就是服務(wù)器會(huì)自動(dòng)修改表單,添加一個(gè)隱藏字段,以便在表單提交時(shí)能夠把session id傳遞回服務(wù)器。

Cookie與Session都能夠進(jìn)行會(huì)話跟蹤,但是完成的原理不太一樣。普通狀況下二者均能夠滿足需求,但有時(shí)分不能夠運(yùn)用Cookie,有時(shí)分不能夠運(yùn)用Session。下面經(jīng)過(guò)比擬闡明二者的特性以及適用的場(chǎng)所。

1 .存取方式的不同

Cookie中只能保管ASCII字符串,假如需求存取Unicode字符或者二進(jìn)制數(shù)據(jù),需求先進(jìn)行編碼。Cookie中也不能直接存取Java對(duì)象。若要存儲(chǔ)略微復(fù)雜的信息,運(yùn)用Cookie是比擬艱難的。

而Session中能夠存取任何類(lèi)型的數(shù)據(jù),包括而不限于String、Integer、List、Map等。Session中也能夠直接保管Java Bean乃至任何Java類(lèi),對(duì)象等,運(yùn)用起來(lái)十分便當(dāng)。能夠把Session看做是一個(gè)Java容器類(lèi)。

2 .隱私策略的不同

Cookie存儲(chǔ)在客戶端閱讀器中,對(duì)客戶端是可見(jiàn)的,客戶端的一些程序可能會(huì)窺探、復(fù)制以至修正Cookie中的內(nèi)容。而Session存儲(chǔ)在服務(wù)器上,對(duì)客戶端是透明的,不存在敏感信息泄露的風(fēng)險(xiǎn)。

假如選用Cookie,比較好的方法是,敏感的信息如賬號(hào)密碼等盡量不要寫(xiě)到Cookie中。最好是像Google、Baidu那樣將Cookie信息加密,提交到服務(wù)器后再進(jìn)行解密,保證Cookie中的信息只要本人能讀得懂。而假如選擇Session就省事多了,反正是放在服務(wù)器上,Session里任何隱私都能夠有效的保護(hù)。

3.有效期上的不同

使用過(guò)Google的人都曉得,假如登錄過(guò)Google,則Google的登錄信息長(zhǎng)期有效。用戶不用每次訪問(wèn)都重新登錄,Google會(huì)持久地記載該用戶的登錄信息。要到達(dá)這種效果,運(yùn)用Cookie會(huì)是比較好的選擇。只需要設(shè)置Cookie的過(guò)期時(shí)間屬性為一個(gè)很大很大的數(shù)字。

由于Session依賴(lài)于名為JSESSIONID的Cookie,而Cookie JSESSIONID的過(guò)期時(shí)間默許為–1,只需關(guān)閉了閱讀器該Session就會(huì)失效,因而Session不能完成信息永世有效的效果。運(yùn)用URL地址重寫(xiě)也不能完成。而且假如設(shè)置Session的超時(shí)時(shí)間過(guò)長(zhǎng),服務(wù)器累計(jì)的Session就會(huì)越多,越容易招致內(nèi)存溢出。

4.服務(wù)器壓力的不同

Session是保管在服務(wù)器端的,每個(gè)用戶都會(huì)產(chǎn)生一個(gè)Session。假如并發(fā)訪問(wèn)的用戶十分多,會(huì)產(chǎn)生十分多的Session,耗費(fèi)大量的內(nèi)存。因而像Google、Baidu、Sina這樣并發(fā)訪問(wèn)量極高的網(wǎng)站,是不太可能運(yùn)用Session來(lái)追蹤客戶會(huì)話的。

而Cookie保管在客戶端,不占用服務(wù)器資源。假如并發(fā)閱讀的用戶十分多,Cookie是很好的選擇。關(guān)于Google、Baidu、Sina來(lái)說(shuō),Cookie或許是唯一的選擇。

5 .瀏覽器支持的不同

Cookie是需要客戶端瀏覽器支持的。假如客戶端禁用了Cookie,或者不支持Cookie,則會(huì)話跟蹤會(huì)失效。關(guān)于WAP上的應(yīng)用,常規(guī)的Cookie就派不上用場(chǎng)了。

假如客戶端瀏覽器不支持Cookie,需要運(yùn)用Session以及URL地址重寫(xiě)。需要注意的是一切的用到Session程序的URL都要進(jìn)行URL地址重寫(xiě),否則Session會(huì)話跟蹤還會(huì)失效。關(guān)于WAP應(yīng)用來(lái)說(shuō),Session+URL地址重寫(xiě)或許是它唯一的選擇。

假如客戶端支持Cookie,則Cookie既能夠設(shè)為本瀏覽器窗口以及子窗口內(nèi)有效(把過(guò)期時(shí)間設(shè)為–1),也能夠設(shè)為一切閱讀器窗口內(nèi)有效(把過(guò)期時(shí)間設(shè)為某個(gè)大于0的整數(shù))。但Session只能在本閱讀器窗口以及其子窗口內(nèi)有效。假如兩個(gè)瀏覽器窗口互不相干,它們將運(yùn)用兩個(gè)不同的Session。(IE8下不同窗口Session相干)

6.跨域支持上的不同

Cookie支持跨域名訪問(wèn),例如將domain屬性設(shè)置為“.biaodianfu.com”,則以“.biaodianfu.com”為后綴的一切域名均能夠訪問(wèn)該Cookie??缬蛎鸆ookie如今被普遍用在網(wǎng)絡(luò)中,例如Google、Baidu、Sina等。而Session則不會(huì)支持跨域名訪問(wèn)。Session僅在他所在的域名內(nèi)有效。

僅運(yùn)用Cookie或者僅運(yùn)用Session可能完成不了理想的效果。這時(shí)應(yīng)該嘗試一下同時(shí)運(yùn)用Cookie與Session。Cookie與Session的搭配運(yùn)用在實(shí)踐項(xiàng)目中會(huì)完成很多意想不到的效果。

關(guān)系的理解

客戶第一次發(fā)送請(qǐng)求給服務(wù)器,此時(shí)服務(wù)器產(chǎn)生一個(gè)唯一的sessionID,并返回給客戶端(通過(guò)cookie),保存于客戶端的內(nèi)存中,并與一個(gè)瀏覽器窗口對(duì)應(yīng)著,由于HTTP協(xié)議的特性,這一次連接就斷開(kāi)了

以后此客戶端再發(fā)送請(qǐng)求給服務(wù)器的時(shí)候,就會(huì)在請(qǐng)求request中攜帶cookie,由于cookie中有sessionID,所以服務(wù)器就知道這是剛才那個(gè)客戶端。


舉個(gè)簡(jiǎn)單例子就像人們?nèi)コ匈?gòu)物,去存包,第一個(gè)去的時(shí)候(客戶第一次發(fā)送請(qǐng)求給服務(wù)器),超市會(huì)給你一個(gè)號(hào)碼牌(此時(shí)服務(wù)器產(chǎn)生一個(gè)唯一的sessionID,并返回給客戶端(通過(guò)cookie)),你可以在你自己的柜子里存東西(在服務(wù)器屬于此客戶的內(nèi)存區(qū)域存數(shù)據(jù)),下次你再去的時(shí)候,拿著這個(gè)號(hào)碼牌(請(qǐng)求request中攜帶cookie),超市就知道哪些東西是你的,然后給你取出來(lái),如果你幾天都沒(méi)去?。╯ession失效了,在服務(wù)器端配置),你再去的時(shí)候東西就拿不到了

如果你把這個(gè)號(hào)碼牌丟了(剛才的cookie失效了,比如你重啟電腦,剛才存于內(nèi)存中sessionID也就丟了),再去拿東西,當(dāng)然無(wú)法定位了,也就拿不到東西了

如果是新打開(kāi)一個(gè)瀏覽器的情況,那就像是又一個(gè)人去超市存東西一樣,你的東西跟他的東西是兩碼事,互不影響,他有他自己的sessionID,你有你自己的

學(xué)而時(shí)習(xí)之不亦說(shuō)乎!


原文鏈接 :?https://www.cnblogs.com/wxinyu/p/9154178.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,197評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,415評(píng)論 3 415
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事?!?“怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 176,104評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 62,884評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,647評(píng)論 6 408
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,130評(píng)論 1 323
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,208評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,366評(píng)論 0 288
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,887評(píng)論 1 334
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,737評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,939評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,478評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,174評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,586評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 35,827評(píng)論 1 283
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,608評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,914評(píng)論 2 372

推薦閱讀更多精彩內(nèi)容