PHP與MySQL程序設(shè)計:019-COOKIE與SESSION_第1頁
PHP與MySQL程序設(shè)計:019-COOKIE與SESSION_第2頁
PHP與MySQL程序設(shè)計:019-COOKIE與SESSION_第3頁
PHP與MySQL程序設(shè)計:019-COOKIE與SESSION_第4頁
PHP與MySQL程序設(shè)計:019-COOKIE與SESSION_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

雷涵legendhb@2015-12Cookie與Session會話技術(shù)介紹為什么需要會話?會話技術(shù)介紹HTTP協(xié)議是無狀態(tài)協(xié)議,意味著服務(wù)端無法通過HTTP判斷各個請求是否來自同一用戶通過增加會話控制機制,允許服務(wù)端跟蹤同一用戶(客戶端)做出的連續(xù)請求并保持上下文會話技術(shù)包含Cookie和Session兩種方式Cookie簡介Cookie是在HTTP協(xié)議下,服務(wù)端維護用戶信息的一種方式是由服務(wù)器發(fā)送給客戶端的片段信息,存儲在客戶端的瀏覽器內(nèi)存或硬盤上,下次請求同一網(wǎng)站時,瀏覽器會將Cookie信息發(fā)送回給服務(wù)端常用于保存用戶基本信息、個人偏好設(shè)置等信息,大多時候需要加密保存客戶端可以刪除CookieCookie的屬性Name:Cookie以鍵值對的形式存在,name為鍵名Value:name標識的Cookie的值Expires:Cookie的過期時間,到達過期時間后Cookie隨即失效,“會話”是一種特殊的過期時間,瀏覽器關(guān)閉即失效Cookie的屬性使用Chrome開發(fā)工具可以查看該網(wǎng)站的CookiesCookie使用鍵值對結(jié)構(gòu)存在PHP設(shè)置Cookie使用函數(shù)setcookie($name[,$value,

$expire])設(shè)置Cookie,$expire默認為“會話有效期”設(shè)置Cookie的指令通過Response

Header設(shè)置,所以在調(diào)用setcookie前程序不能有任何內(nèi)容輸出PHP設(shè)置Cookie如果Cookie設(shè)置成功,客戶端瀏覽器記錄下了Cookie內(nèi)容,在下一次請求時會帶上Cookie內(nèi)容使用$_COOKIE全局數(shù)組來讀取Cookie值PHP刪除Cookie省略setcookie()的value及以后的參數(shù)設(shè)置指定Cookie的expire參數(shù)為過期的時間Cookie的數(shù)組形態(tài)利用多維數(shù)組的形式,將一個name標識的Cookie設(shè)置成數(shù)組Cookie的高級屬性Domain:Cookie所在域名,只有同一域名下的Cookie可以被設(shè)置和讀取Path:Cookie在其所在域名的指定目錄下,默認為當前目錄,子目錄可以獲取到父目錄下的Cookie,反之不行Secure:標識該Cookie是否只能基于HTTPS進行傳輸,默認為falsehttponly:表明該Cookie是否只能通過HTTP進行讀取和設(shè)置,設(shè)置為true時,通過JavaScript無法取到該Cookie,有助于提高安全性課堂練習(xí)寫兩個頁面練習(xí)設(shè)置Cookie和讀取Cookie嘗試設(shè)置不同的expire時間,看看到期后Cookie是不是取不到了嘗試設(shè)置不同的path下的Cookie,看看在不同的path下是否能正確取到回顧階段一博客項目的文章瀏覽量問題,每次刷新都加1,結(jié)果不準確,如何通過Cookie解決這個問題?Session介紹Session中文譯作“會話”,在Web開發(fā)過程中指一個特定的時間概念,比如用戶從登錄到注銷,在PHP中指的是用于保存用戶上下文的服務(wù)端存儲機制Session的內(nèi)容保存在服務(wù)端,與Cookie區(qū)別在啟動會話時,PHP會為用戶分配一個session_id,設(shè)置的Session內(nèi)容都與該session_id綁定隨著瀏覽器的關(guān)閉Session隨之銷毀session_id可以通過GET參數(shù)或者Cookie(默認)傳遞PHP操作Session通過session_start()函數(shù)開啟Session,PHP會設(shè)置一個默認名為PHPSESSID的Cookie,有效期為“會話”如上所述,所以開啟Session的操作同樣需要在此之前沒有內(nèi)容輸出直接使用全局數(shù)組$_SESSION讀寫Session刪除Session通過unset()注銷某個Session變量,如同操作數(shù)組通過$_SESSION

=

[],一次性清除所有Session,慎用通過session_destroy()函數(shù)直接銷毀SessionSession的相關(guān)配置session.auto_start設(shè)置PHP是否自動開啟Session,開啟的話則不需要手動session_start()設(shè)置記錄在Cookie里的session_id的namesession.save_handler設(shè)置記錄Session內(nèi)容的媒介,默認為files,即保存在文件里session.save_path當save_handler設(shè)置為files時,文件的保存路徑session.use_cookies是否使用Cookie來設(shè)置session_idsession.gc_maxlifetime設(shè)置Session被回收的時間,默認為1440妙,也即24分鐘Session與CookieCookie與Session都可以用來保存服務(wù)端與用戶的上下文關(guān)聯(lián)Cookie存儲在客戶端,Session存儲于服務(wù)器端Session一般通過Cookie設(shè)置session_idSession里的內(nèi)容隨著瀏覽器關(guān)閉而消失,Cookie可以長期保存Session里的內(nèi)容相對于Cookie更為安全課堂練習(xí)寫兩個頁面set_session.php執(zhí)行設(shè)置Session的動作,另一個get_session.php將設(shè)置的Session讀出來并打印關(guān)閉瀏覽器后,重新打開g

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論