PHP學習筆記 隨筆

cookie_httponly

1.設置方式:

在php代碼的最開始的地方 設置php.ini 的配置ini_set(“session.cookie_httponly”, 1);//需要安裝php的session擴展

或者直接到php.ini文件中設置 Session.cookie_httponly=1;

(init_set在當前php程序中設置有效 程序結束後失效)

2. 作用

預防xss攻擊 (使用js惡意獲取 網站用戶的sessionId, 冒充用戶身份,請求網站,進行惡意操作,造成用戶信息的泄露和用戶財產損失)

舉例子: 某用戶登錄某A網站,網站中存在該用戶的賬號密碼,網站中彈出一個惡意框框,該用戶點擊跳入到另一個網站B, B網站會通過js獲取該用戶攜帶進來的sessionId和A網站的地址, B網站就可以通過sesssionId獲取冒充該用戶的身份、請求和操作A網站,造成用戶信息泄露。

3. 原理

cookie_httponly 故名思議 獲取cookie只能通過http請求獲取, 所以上面例子中通過js獲取cookie的信息是被禁止的,只能通過ajax請求服務器時纔可以獲取到cookie中的sessionId。從而預防了xss攻擊。

(等同於 header(“Set-Cookie: hidden=value; httpOnly”);
在客戶端請求服務器時 服務器把http header頭部信息返回給客戶端、通知客戶端瀏覽器cookie只能由http協議訪問。)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章