session和cookie

cookie

cookie計(jì)數(shù)器

  1. 題目:
    第一次刷新顯示1,第2,3,4...n次刷新顯示n
    第一次 瀏覽器 -> apache (給瀏覽器一個(gè)cookie)
    第二次 瀏覽器 (帶著cookie) -> apache (更改瀏覽器的cookie)
    答:
    先setcookie--分配給--瀏覽器-->cookie值矿筝,下次直接加
if(!isset($_COOKIE['num'])) {
    setcookie('num',1);
} else {
    setcookie('num' , $_COOKIE['num'] +1);
}
echo $_COOKIE['num'];

注:這種辦法永遠(yuǎn)比瀏覽器慢一拍乐导,這是因?yàn)槿绻鹲etcookie ,$_COOKIE想獲取cookie的值,需要在下一次請(qǐng)求中才可以訪問(wèn)到
借助臨時(shí)變量來(lái)幫忙
計(jì)算器終極改進(jìn):

if( !isset($_COOKIE['num']) ) {
    $num = 1;
    setcookie('num' , $num);
} else {
    $num = $_COOKIE['num'] + 1;
    setcookie('num' , $num);
}
echo $num;

setcookie的第3個(gè)參數(shù),表示cookie的聲明周期,需要用時(shí)間戳來(lái)表示觅闽,不加為關(guān)閉瀏覽器清除cookie

setcookie('sec' , '!!!' , time()+10);

cookie的第四個(gè)參數(shù) ,當(dāng)不加時(shí)漫雕,只能同級(jí)的子目錄下能訪問(wèn)到設(shè)置的cookie姥卢,在上級(jí)目錄是訪問(wèn)不到的强品,加上‘/’,代表本個(gè)域名的根目錄都可以訪問(wèn)到

setcookie('test2' , '666' , time()+60 , '/');

第5個(gè)參數(shù),不常用,cookie是不能跨域的,可以在不同的子域名中生效
大的網(wǎng)站,往往有很多子域名,如果讓cookie 在不同的子域名中生效
book.163.com mil.163.com lady.163.com
指定到確定的位置去取出cookie

setcookie('test2' , '666' , time()+60 , '/' , '163.com');

1. 瀏覽器允許每個(gè)域名所包含的cookie數(shù):

Microsoft指出InternetExplorer8增加cookie限制為每個(gè)域名50個(gè)清女,但I(xiàn)E7似乎也允許每個(gè)域名50個(gè)cookie。

Firefox每個(gè)域名cookie限制為50個(gè)晰筛。

Opera每個(gè)域名cookie限制為30個(gè)嫡丙。

Safari/WebKit貌似沒有cookie限制拴袭。但是如果cookie很多,則會(huì)使header大小超過(guò)服務(wù)器的處理的限制曙博,會(huì)導(dǎo)致錯(cuò)誤發(fā)生拥刻。

注:“每個(gè)域名cookie限制為20個(gè)”將不再正確!
2.當(dāng)很多的cookie被設(shè)置父泳,瀏覽器如何去響應(yīng)般哼。

除Safari(可以設(shè)置全部cookie,不管數(shù)量多少)惠窄,有兩個(gè)方法:

最少最近使用(leastrecentlyused(LRU))的方法:當(dāng)Cookie已達(dá)到限額蒸眠,自動(dòng)踢除最老的Cookie,以使給最新的Cookie一些空間杆融。Internet Explorer和Opera使用此方法楞卡。

Firefox很獨(dú)特:雖然最后的設(shè)置的Cookie始終保留,但似乎隨機(jī)決定哪些cookie被保留脾歇。似乎沒有任何計(jì)劃(建議:在Firefox中不要超過(guò)Cookie限制)蒋腮。

3. 不同瀏覽器間cookie總大小也不同:

Firefox和Safari允許cookie多達(dá)4097個(gè)字節(jié),包括名(name)介劫、值(value)和等號(hào)徽惋。

Opera允許cookie多達(dá)4096個(gè)字節(jié),包括:名(name)座韵、值(value)和等號(hào)险绘。

Internet Explorer允許cookie多達(dá)4095個(gè)字節(jié),包括:名(name)誉碴、值(value)和等號(hào)宦棺。

  注:多字節(jié)字符計(jì)算為兩個(gè)字節(jié)。在所有瀏覽器中黔帕,任何cookie大小超過(guò)限制都被忽略代咸,且永遠(yuǎn)不會(huì)被設(shè)置。

session

1.重要的信息放在哪里?

服務(wù)器端
2.瀏覽器拿箱子的號(hào),是用什么記住這個(gè)號(hào)的,每次來(lái)訪問(wèn)服務(wù)器用什么帶著這個(gè)號(hào)來(lái)的?
cookie
所以說(shuō),cookie和session是有聯(lián)系的
3. 使用

//賦值和讀取都需要session_start()
session_start();
$_SESSION['area'] = 'beijing';

注:
1.session無(wú)論是讀取,修改,銷毀( $_SESSION = array();session_destroy()) 都要先session_start();
2.session的讀取,修改,銷毀,可以直接操作$_SESSION數(shù)組

3. session的配置

session的存儲(chǔ)路徑

session.save_path = "c:/wamp/tmp"

是否使用cookie(來(lái)傳遞session_id)

; http://php.net/session.use-cookies
session.use_cookies = 1

; 是否強(qiáng)制只用cookie來(lái)傳遞session_id

; http://php.net/session.use-only-cookies
session.use_only_cookies = 1

; session_id的cookie名稱

; http://php.net/session.name
session.name = PHPSESSID

; 是否自動(dòng)session_start

; http://php.net/session.auto-start
session.auto_start = 0

; session_id的生命周期

; http://php.net/session.cookie-lifetime
session.cookie_lifetime = 0

; 傳遞session_id的cookie的有效路徑.

; http://php.net/session.cookie-path
session.cookie_path = /
//根目錄,跟cookie不同,session可以往上跳

; 是否通過(guò)URL傳遞session_id

; http://php.net/session.use-trans-sid
session.use_trans_sid = 0

; 過(guò)期session文件被清理的概率

; http://php.net/session.gc-divisor
session.gc_divisor = 1000

(以秒為單位,兩個(gè)配合清除服務(wù)器上的過(guò)期session文件)

; 多少秒沒更新的session文件,將被視為"可回收"

; http://php.net/session.gc-maxlifetime
session.gc_maxlifetime = 1440

session與cookie對(duì)比
特點(diǎn) 特點(diǎn)

特點(diǎn) cookie sesion
存儲(chǔ)地址 客戶 服務(wù)器端
存儲(chǔ)類型 字符串,數(shù)字 字符串,數(shù)字,數(shù)組,對(duì)象
創(chuàng)建方式 setcookie 直接操作$_SESSION
讀取 $_COOKIE $_SESSION
銷毀 setcookie(key,'',0) unset(),session_destroy()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末成黄,一起剝皮案震驚了整個(gè)濱河市呐芥,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌奋岁,老刑警劉巖思瘟,帶你破解...
    沈念sama閱讀 223,126評(píng)論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異闻伶,居然都是意外死亡滨攻,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)光绕,“玉大人女嘲,你說(shuō)我怎么就攤上這事〉剩” “怎么了欣尼?”我有些...
    開封第一講書人閱讀 169,941評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)景埃。 經(jīng)常有香客問(wèn)我媒至,道長(zhǎng),這世上最難降的妖魔是什么谷徙? 我笑而不...
    開封第一講書人閱讀 60,294評(píng)論 1 300
  • 正文 為了忘掉前任拒啰,我火速辦了婚禮,結(jié)果婚禮上完慧,老公的妹妹穿的比我還像新娘谋旦。我一直安慰自己,他們只是感情好屈尼,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評(píng)論 6 398
  • 文/花漫 我一把揭開白布册着。 她就那樣靜靜地躺著,像睡著了一般脾歧。 火紅的嫁衣襯著肌膚如雪甲捏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,874評(píng)論 1 314
  • 那天鞭执,我揣著相機(jī)與錄音司顿,去河邊找鬼。 笑死兄纺,一個(gè)胖子當(dāng)著我的面吹牛大溜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播估脆,決...
    沈念sama閱讀 41,285評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼钦奋,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了疙赠?” 一聲冷哼從身側(cè)響起付材,我...
    開封第一講書人閱讀 40,249評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎圃阳,沒想到半個(gè)月后伞租,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,760評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡限佩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祟同。...
    茶點(diǎn)故事閱讀 40,973評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡作喘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出晕城,到底是詐尸還是另有隱情泞坦,我是刑警寧澤,帶...
    沈念sama閱讀 36,631評(píng)論 5 351
  • 正文 年R本政府宣布砖顷,位于F島的核電站贰锁,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏滤蝠。R本人自食惡果不足惜豌熄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望物咳。 院中可真熱鬧锣险,春花似錦、人聲如沸览闰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)压鉴。三九已至崖咨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間油吭,已是汗流浹背击蹲。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評(píng)論 1 275
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留上鞠,地道東北人际邻。 一個(gè)月前我還...
    沈念sama閱讀 49,431評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像芍阎,于是被迫代替她去往敵國(guó)和親世曾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評(píng)論 2 361

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