亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

php及codeigniter使用session-cookie的方法(詳解)

 更新時間:2017年04月06日 11:25:05   投稿:jingxian  
下面小編就為大家?guī)硪黄猵hp及codeigniter使用session-cookie的方法(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1、讀寫cookie

<1>原生

setcookie('name','value',time)

設(shè)置失敗,沒有正常寫入瀏覽器,測試失敗,原因未知

<2>CI框架

$this->input->set_cookie("views","test10",1000);
echo $_COOKIE["views"];//此方法獲取值時,如果值不存在會報錯,當(dāng)然可以先用isset($_COOKIE["views"])判斷一下

<3>通過helper

$this->load->helper('cookie');//這行放在view也是可以的,隨便
set_cookie('views','test10',1000);
echo get_cookie('views');//此方法獲取值如果獲取不到,會返回空,不會報錯

2、讀寫session

<1>原生session

啟動:

<?php
session_start();
?>

賦值:

$_SESSION['views'] = "test20";

取值:

echo "Session:". $_SESSION['views'];

存續(xù)時間:

會話。當(dāng)瀏覽器關(guān)閉,cookie里面的phpsession就會清空,下次打開會重新生成一個

雖然服務(wù)器還保存著這個session。session的過期時間在php.ini里設(shè)置,參見另一篇文章php(codeigniter)安全性注意事項

<2>CI框架session

啟動:

$this->load->library('session');//load必須在controller完成,當(dāng)要使用session必須先load賦值:
$this->session->views = "test11";

取值:

echo "Session:". $_SESSION['views'];

存續(xù)時間:

客戶端有2個小時的存續(xù)時間,當(dāng)服務(wù)器的session被刪除,因為客戶端的session id還是有效的,所以當(dāng)再次打開的時候,服務(wù)端會再創(chuàng)建一個跟客戶端session id相同的session,當(dāng)然是創(chuàng)建新id還是老id并不重要,因為只是id同名,里面是沒有數(shù)據(jù)的

<3>區(qū)別

>兩個session名稱是不同的,一個叫phpsession,一個叫ci_session

>只能啟動一個,不能兩個都啟動

>取值是相同的

>兩個千萬不要混用,應(yīng)該全面放棄原生的方式

>原生phpsession的是隨便訪問的,ci_session是httponly的,這就意味著原生的session可能會被通過xxs攻擊,通過js獲取到cookie

<4>例外情況

有一種情況是這樣的:

當(dāng)此時已經(jīng)存在ci_session,因為這個ci_是持久化的

//session_start();//沒有啟動原生的session
//$this->load->library('session');//沒有啟動ci的session
$_SESSION['views'] = "test23";//直接用原生的方式進(jìn)行賦值
echo "Session:". $_SESSION['views'];//可以正常取值出來"test23"

通過查看cookie,發(fā)現(xiàn)沒有原生session存在,只能是走的ci session,那么在服務(wù)器的session里找到這個文件,發(fā)現(xiàn)這個值沒有寫進(jìn)去 如果有聲明session_start(),他就會走原生的模式,會重新創(chuàng)建一個phpsession,并且值會寫進(jìn)去

如果什么都沒聲明,也沒有賦值,直接取值,那么會報錯,因為要使用ci_session必須要load,我們沒有l(wèi)oad就會報錯,所以證明了,在用原生的方式進(jìn)行賦值的時候,他相當(dāng)于啟動了session,啟用了ci_session,但他又沒有權(quán)限寫入,這可以說是一個bug

<5>session如何運作

cookie的運作比較容易理解,就是寫入到用戶cookie,寫什么讀出來就是什么。只要是本站的cookie,就可以通過鍵值讀出來。

session的值是存在服務(wù)器的,但是怎么知道這個值是哪個用戶的?通過在用戶cookie里存入那個session的文件名,而保存的值放在服務(wù)器同名的文件里面。說的盜取cookie指的就是盜取這個,重要的信息存在服務(wù)器上,但是這個被盜了也完蛋。所以,也不能相信cookie里存的這個session-key,應(yīng)該做一個鑒權(quán)。

注意,寫入session的同時,寫session-key到用戶的cookie里這個是自動完成的,這個存續(xù)時間應(yīng)該是在服務(wù)器的php.ini里面配置。

以上這篇php及codeigniter使用session-cookie的方法(詳解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • php讀取30天之內(nèi)的根據(jù)算法排序的代碼

    php讀取30天之內(nèi)的根據(jù)算法排序的代碼

    今天做一個讀取30天內(nèi),如果推薦則×20+收藏+點擊的算法排序的代碼
    2008-04-04
  • php使用curl出現(xiàn)Expect:100-continue解決方法

    php使用curl出現(xiàn)Expect:100-continue解決方法

    這篇文章主要介紹了php使用curl出現(xiàn)Expect:100-continue解決方法,實例分析了Expect:100-continue出現(xiàn)的原理與解決方法,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • php對稱加密和解密的實現(xiàn)詳解

    php對稱加密和解密的實現(xiàn)詳解

    加密是為了信息傳遞更加安全,這樣才能更好的讓信息傳遞更具有保密性,不會被他人隨意篡改,本文為大家介紹了php實現(xiàn)簡單的對稱加密和解密過程,希望對大家有所幫助
    2023-11-11
  • php操作redis的常見用法詳解

    php操作redis的常見用法詳解

    這篇文章主要為大家詳細(xì)介紹了php操作redis的常見用法的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • 如何使用Serializable接口來自定義PHP中類的序列化

    如何使用Serializable接口來自定義PHP中類的序列化

    這篇文章主要介紹了如何使用Serializable接口來自定義PHP中類的序列化,幫助大家更好的理解和學(xué)習(xí)使用PHP,感興趣的朋友可以了解下
    2021-04-04
  • php版阿里云OSS圖片上傳類詳解

    php版阿里云OSS圖片上傳類詳解

    這篇文章主要介紹了php版阿里云OSS圖片上傳類,結(jié)合具體實例形式分析了php版阿里云OSS圖片上傳類的功能、定義、使用方法與相關(guān)注意事項,需要的朋友可以參考下
    2016-12-12
  • php圖片處理函數(shù)獲取類型及擴(kuò)展名實例

    php圖片處理函數(shù)獲取類型及擴(kuò)展名實例

    這篇文章主要介紹了php圖片處理函數(shù)獲取類型及擴(kuò)展名的方法,包括image2wbmp、image_type_to_extension、image_type_to_mime_type等函數(shù)的具體使用,具有不錯的借鑒與學(xué)習(xí)價值,需要的朋友可以參考下
    2014-11-11
  • PHP使用PDO創(chuàng)建MySQL數(shù)據(jù)庫、表及插入多條數(shù)據(jù)操作示例

    PHP使用PDO創(chuàng)建MySQL數(shù)據(jù)庫、表及插入多條數(shù)據(jù)操作示例

    這篇文章主要介紹了PHP使用PDO創(chuàng)建MySQL數(shù)據(jù)庫、表及插入多條數(shù)據(jù)操作,結(jié)合實例形式總結(jié)分析了php基于pdo的mysql數(shù)據(jù)庫創(chuàng)建、數(shù)據(jù)表創(chuàng)建以及多條數(shù)據(jù)插入操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2019-05-05
  • PHP生成隨機數(shù)的方法總結(jié)

    PHP生成隨機數(shù)的方法總結(jié)

    本篇文章給大家總結(jié)了PHP生成隨機數(shù)的方法并把相關(guān)的代碼做了分享,有需要的讀者們參考學(xué)習(xí)下吧。
    2018-03-03
  • PHP自動識別當(dāng)前使用移動終端

    PHP自動識別當(dāng)前使用移動終端

    這篇文章主要為大家詳細(xì)介紹了PHP自動識別當(dāng)前使用移動終端,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05

最新評論