




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、PHP會話控制,后盾網(wǎng) 2012-2013 v2.0,后盾網(wǎng) 人人做后盾 ,HTTP特性,無狀態(tài) 無狀態(tài)是指協(xié)議對于事務處理沒有記憶能力。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數(shù)據(jù)量增大。另一方面,在服務器不需要先前信息時它的應答就較快; 無狀態(tài)性客戶端與服務器端連接通信運行速度快,服務器應答也快。因為無狀態(tài),協(xié)議對事務處理是沒有記憶性的是獨立的。所以為了滿足后面事務需要前面的事務有關信息,所以事務有關的信息要在協(xié)議外發(fā)送,COOKIE,Cookie 最早是網(wǎng)景公司的前雇員Lou Montulli在1993年3月發(fā)明。Cookie是當用戶瀏覽某網(wǎng)站時
2、,服務器存儲在用戶機器上的一個小文本文件,再次來到該網(wǎng)站時,網(wǎng)站通過讀取Cookie,得知用戶的相關信息,就可以做出相應的動作; Cookie傳遞 Cookie是利用了網(wǎng)頁代碼中的HTTP頭信息進行傳遞的,瀏覽器的每一次網(wǎng)頁請求,都可以伴隨Cookie傳遞。服務器將Cookie添加到網(wǎng)頁的HTTP頭信息中,伴隨網(wǎng)頁數(shù)據(jù)傳回到用戶的瀏覽器,瀏覽器會根據(jù)用戶電腦中的Cookie設置選擇是否保存這些數(shù)據(jù)。如果瀏覽器不允許Cookie保存,則關掉瀏覽器后,這些數(shù)據(jù)就消失;,COOKIE,生命周期 Cookie有一個Expires(有效期)屬性,這個屬性決定了Cookie的保存時間,服務器可以通過設定E
3、xpires字段的數(shù)值,來改變Cookie的保存時間如果不設置該屬性,或設為0,那么Cookie只在瀏覽網(wǎng)頁期間有效,關閉瀏覽器,這些Cookie自動消失,COOKIE,瀏覽器處理Cookie方式 數(shù)量各個瀏覽器中會不同,同一瀏覽器版本也不同IE8允許每個域保存50個cookieFirefox允許每個域保存50個cookie 大?。阂话銇碚f允許4Kb,不同瀏覽器,不同版本略有不同 當Cookie的數(shù)量達到上限時的刪除方式1:將最近使用最少的Cookie刪除2:隨機刪除,生成COOKIE,setcookie ( string name , string value , int expire ,
4、string path , string domain , bool secure ) name Cookie 的名字 value Cookie 的值 expire Cookie 過期的時間 path Cookie 在服務器端的有效路徑 domain 該 cookie 有效的域名 secure 指明 cookie 是否僅通過安全的 HTTPS 連接傳送。當設成 TRUE 時,cookie 僅在安全的連接中被設置。默認值為 FALSE; 第七個參數(shù)設為true后,只能通過http訪問,javascript無法訪問,COOKIE數(shù)組或?qū)ο?操作數(shù)組 $_COOKIEa=111; $_COOKIEb
5、=222; $_COOKIE1=111; $_COOKIE2=666; 操作對象 通過序列化實現(xiàn) serialize() string serialize ( mixed $value )產(chǎn)生一個可存儲的值的表示 unserialize() mixed unserialize ( string $str , string $callback )從已存儲的表示中創(chuàng)建 PHP 的值,SESSION,Session從用戶訪問頁面開始,到斷開與網(wǎng)站連接為止,形成一個會話的生命周期。在會話期間,分配客戶唯一的一個SessionID,用來標識當前用戶,與其他用戶進行區(qū)分; Session會話時,Sessi
6、onID會分別保存在客戶端和服務器端兩個位置,對于客戶端使用臨時的Cookie保存(Cookie名稱為PHPSESSID)或者通過URL字符串傳遞,服務器端也以文本文件形式保存在指定的Session目錄中; Session通過ID接受每一個訪問請求,從而識別當前用戶、跟蹤和保持用戶具體資料,以及Session變量(在Session活動期間,可在Session中存儲數(shù)字或文字資料),比如session_name等等,這些變量信息保存在服務器端,SESSION,session_start() 開始一個會話或者返回已經(jīng)存在的會話,判斷客戶端有無session_id,如果沒有,在服務器端寫入SESSI
7、ON文件(或者通過數(shù)據(jù)庫等完成)發(fā)送寫session_id的cookie頭信息。如果有客戶端發(fā)來的session_id則找相應session數(shù)據(jù) session使用方法 同get post等使用方法相同,$_SESSIONvar即可使用 更改session_id() session_regenerate_id() 更改成功則返回true,失敗則返回false。更改session_id,但不改變當前session的其他信息 session_name() 返回當前session的name或改變當前session的name,SESSION傳遞方式,通過COOKIE傳遞 通過URL地址欄傳遞 定義普通
8、GET變量 定義session_name SID常量等于 isset($_COOKIEsession_name()?define(cc, ):define(cc, session_name().=.session_id() 隱藏表單域 設置php.ini中的session.use_trans_sid = 1或者編譯時打開打開了-enable-trans-sid選項,讓PHP自動跨頁傳遞session id 如果在session_start();之前加代碼session_id($sessionid);將不產(chǎn)生新的session文件,直接讀取與這個id對應的session文件,清除SESSION,
9、unset($_SESSIONweb)/刪除session變量 $_SESSION = array()/刪除所有session變量, 不刪除session文件 session_unset()/釋放當前在內(nèi)存中已經(jīng)創(chuàng)建的所有$_SESSION變量,但不刪除session文件以及不釋放對應的session id session_destroy()/刪除當前用戶對應的session文件以及釋放session id,內(nèi)存中的$_SESSION變量內(nèi)容依然保留 釋放用戶的 session 所有資源 session_unset() session_destroy(),配置文件設置SESSION環(huán)境,ses
10、sion_save_path 會話數(shù)據(jù)的路徑。如果指定的路徑,將數(shù)據(jù)保存到路徑中; = PHPSESSID 用在cookie里的會話ID標識名,只能包含字母和數(shù)字,配置文件設置SESSION環(huán)境,session.use_cookies = On 是否使用cookie在客戶端保存會話ID session.use_only_cookies = Off 是否僅僅使用cookie在客戶端保存會話ID。PHP6的默認值為On session.cookie_lifetime = 0 傳遞會話ID的Cookie有效期(秒),0 表示僅在瀏覽器打開期間有效 session.cooki
11、e_path = / 傳遞會話ID的Cookie作用路徑,配置文件設置SESSION環(huán)境,session.cookie_domain = 傳遞會話ID的Cookie作用域。默認為空表示根據(jù)cookie規(guī)范生成的主機名 session.cookie_secure = Off 是否僅通過安全連接(https)發(fā)送cookie session.cookie_httponly = Off 是否在cookie中添加httpOnly標志(僅允許HTTP協(xié)議訪問),這將導致客戶端腳本(JavaScript等)無法訪問該cookie session.use_trans_sid = Off 是否使用明碼在URL
12、中顯示SID(會話ID)。默認是禁止的,因為它會給你的用戶帶來安全危險,配置文件設置SESSION環(huán)境,session.save_path = /tmp 傳遞給存儲處理器的參數(shù)。你可以使用N;MODE;/path這樣模式定義該路徑(N是一個整數(shù))。 N表示使用N層深度的子目錄,而不是將所有數(shù)據(jù)文件都保存在一個目錄下。MODE;可選,必須使用8進制數(shù),默認600,表示文件的訪問權限 = PHPSESSID 用在cookie里的會話ID標識名,只能包含字母和數(shù)字 session.auto_start = Off 在客戶訪問任何頁面時都自動初始化會話,默認禁止。 因為類定義
13、必須在會話啟動之前被載入,所以若打開這個選項,你就不能在會話中存放對象,配置文件設置SESSION環(huán)境,session.serialize_handler = php 用來序列化/解序列化數(shù)據(jù)的處理器,php是標準序列化/解序列化處理器。 session.gc_probability = 1 session.gc_divisor = 100 定義在每次初始化會話時,啟動垃圾回收程序的概率。 這個收集概率計算公式如下:session.gc_probability/session.gc_divisor; 對會話頁面訪問越頻繁,概率就應當越小。建議值為1/10005000,配置文件設置SESSION
14、環(huán)境,session.gc_maxlifetime = 1440 超過此參數(shù)所指的秒數(shù)后,保存的數(shù)據(jù)將被視為垃圾并由垃圾回收程序清理。 判斷標準是最后訪問數(shù)據(jù)的時間(對于FAT文件系統(tǒng)是最后刷新數(shù)據(jù)的時間)。 如果多個腳本共享同一個session.save_path目錄但session.gc_maxlifetime不同, 那么將以所有session.gc_maxlifetime指令中的最小值為準。 如果使用多層子目錄來存儲數(shù)據(jù)文件,垃圾回收程序不會自動啟動。 你必須使用一個你自己編寫的shell腳本、cron項或者其他辦法來執(zhí)行垃圾搜集;,PHP垃圾回收機制,什么是垃圾 沒有任何變量指向這個對
15、象時,即為垃圾。PHP會自動從內(nèi)存中將其銷毀,防止內(nèi)存溢出。當一個PHP線程結(jié)束時,當前所有占用的內(nèi)存都會被銷毀 _destruct()析構函數(shù),在垃圾對象被回收時執(zhí)行 引用計數(shù)器 每個對象都包含一個引用計數(shù)器,每個引用連接對象時,計數(shù)器+1。當引用離開生存空間或設為NULL時,計數(shù)器減1。當某個對象計數(shù)器為0時,啟動垃圾回收器,釋放其所占用的空間,PHP垃圾回收機制,$a = 100; 在內(nèi)容中開辟空間保存100。用PHP內(nèi)部符號表的$a指向內(nèi)存地址,方便依據(jù)符號操作內(nèi)存; unset() 即斷開符號表與內(nèi)容地址的關系。將計數(shù)器-1; NULL 即直接將內(nèi)容引用計數(shù)器清為0;,SESSION的垃圾回收機制,PHP的工作機制 它并沒有一個daemon線程來定期的掃描Session信息并判斷其是否失效,當一個有效的請求發(fā)生時,PHP 會根據(jù)全局變量 session.gc_probability和session.gc_divisor的值,來決定是否啟用一個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機關內(nèi)部培訓活動方案
- 晚宴拓展活動方案
- 朗誦藝術活動方案
- 林肯走秀活動活動方案
- 林業(yè)科技報務年活動方案
- 村級載體活動方案
- 服裝線下展示活動方案
- 服裝免洗活動方案
- 春節(jié)玩具活動方案
- 期末匯報課活動方案
- (正式版)HGT 20593-2024 鋼制化工設備焊接與檢驗工程技術規(guī)范
- 售后服務質(zhì)量管理體系培訓課程
- 醫(yī)院隨訪工作總結(jié)
- 美標護板-培訓資料
- 高血脂的藥物治療研究
- 設備拆除工作總結(jié)匯報
- 辦公室安全教育培訓培訓
- 胎心監(jiān)護醫(yī)學宣教
- 2024屆四川省成都市溫江區(qū)八年級語文第二學期期末達標測試試題含解析
- 中小學《戲曲》校本教材
- 家庭安全隱患排查和應對策略及方案
評論
0/150
提交評論