首頁 >後端開發 >php教程 >PHP之cookie

PHP之cookie

WBOY
WBOY原創
2016-07-29 08:57:51902瀏覽

會話技術

cookie

允許伺服器端腳本在瀏覽器儲存資料的技術,
允許伺服器向瀏覽器發送指令,用來管理儲存在瀏覽器端的cookie資料
瀏覽器如果儲存了某伺服器所儲存的cookie數據,請求時會帶上cookie的資料

<code><span>//增、改</span><span>setcookie(key,val)</span>;
<span>//删</span><span>setcookie(key,<span>''</span>)</span>;
<span>//获取浏览器携带的cookie数据</span>
$_COOKIE<span>[key]</span></code>

特徵:

  • 有效期限:

    預設是臨時cookie,也叫會話cookie,會話結束(瀏覽器關閉)就清除。可以透過設定時間戳記(1970年第一秒起)來確定生命期,在瀏覽器端時間以格林威治標準時間(GMT)作為標準

<code><span>setcookie(key,val,<span>time()</span>+<span>60</span>)</span>;
    <span>//代表保存1分钟,浏览器会检查是否失效</span><span>setcookie(key,val,<span>0</span>)</span>;
    <span>//默认会话</span><span>setcookie(key,<span>''</span>,<span>time()</span>-<span>1</span>)</span>;
    <span>//删除cookie</span><span>setcookie(key,val,PHP_INT_MAX)</span>;
    <span>//逻辑上表示永久有效</span></code>
  • 有效路徑:
    預設在目前路徑及其後代路徑有效。 (路徑不是程式碼所在檔案的本機磁碟路徑,而是url請求的路徑關係)
    不同路徑下同名的cookie可同時儲存於瀏覽器,瀏覽器會先查找目前目錄內有效的cookie,再向上查找,所有有效的都會攜帶至伺服器,伺服器端形成$_COOKIE時,會出現重寫效果,先出現的保留,
    可以透過設定setcookie()第四個參數為’/’表示站點根目錄有效,即整站有效。有效路徑由瀏覽器判斷,有效路徑設定時候伺服器會告知瀏覽器
<code>    setcookie(<span>key</span>,val,<span>0</span>,<span>'/');</span></code>
  • 有效域:
    預設cookie僅在目前域下有效
    可以透過設定使cookie的有效域,擴展到某個一級網域下的所有子域
<code>    me.com           <span>//一级域名</span>
    lig.me.com       <span>//二级域名</span>
    bee.me.com       <span>//二级域名</span>
    setcookie(key,<span>val</span>,<span>0</span>,<span>''</span>,<span>'me.com'</span>);</code>
  • 是否僅安全傳輸
    預設不論瀏覽器發出的是http和https協定都會將有效的cookie攜帶給伺服器
    可以透過設定第六個參數為true,表示啟動僅安全傳輸,此時瀏覽器發送請求時若為http協議,就不會發送這些設定為僅安全傳輸的cookie,apache需要載入openssl模組才能使用https協議
<code>    setcookie(key,<span>val</span>,<span>0</span>,<span>''</span>,<span>''</span>,<span>true</span>);</code>
  • HTTPonly
    預設瀏覽器所儲存的腳本可以被其它腳本呼叫處理
    透過設定第7個參數使得只能cookie只能在http請求中使用
<code>    setcookie(key,<span>val</span>,<span>0</span>,<span>''</span>,<span>''</span>,<span>false</span>,<span>true</span>);</code>
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介紹了PHP之cookie,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn