做網站的朋友大部分都會很在意網站的安全,很多都會使用360檢測網站是否存在漏洞或者不安全因素。360檢測中檢查會有這樣一個不安全提示:Cookie沒有HttpOnly標志。查看了360官方的解決方案,大概分為以下4個辦法來處理對一些重要的Cookie添加HttpOnl
response.setHeader("Set-Cookie", "cookiename=value; Path=/;Domain=domainvalue;Max-Age=seconds;HTTPOnly");
設置完畢后通過js腳本是讀不到該cookie的,但使用如下方式可以讀取 Cookie cookies[]=request.getCookies();。
在web.xml中添加如下片段: true true。
header("Set-Cookie: hidden=value; httpOnly");
setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE); 最后一個參數為HttpOnly屬性
HttpCookie myCookie = new HttpCookie("myCookie"); myCookie.HttpOnly = true; Response.AppendCookie(myCookie);
Dim myCookie As HttpCookie = new HttpCookie("myCookie") myCookie.HttpOnly = True Response.AppendCookie(myCookie)
Response.Cookies[cookie].Path += ";HTTPOnly";
PHP5.2以上版本已支持HttpOnly參數的設置,同樣也支持全局的HttpOnly的設置,在php.ini中
-----------------------------------------------------
session.cookie_httponly =
-----------------------------------------------------
設置其值為1或者TRUE,來開啟全局的Cookie的HttpOnly屬性,當然也支持在代碼中來開啟:
Discuz只在 用戶登錄信息里默認使用HttpOnly(PHP版本不能低于5.2),這基本夠了,cookie最重要的就是登錄信息了, 360掃描系統一般是游客身份訪問網站,沒有HttpOnly正常 你想全部cookie都HttpOnly,打開 source/function/function_core.php 找到 $httponly = false) 改為 $httponly = true)
以上就是php5.2環境 Cookie沒有HttpOnly標志 的解決辦法的全部內容,希望對大家的學習和解決疑問有所幫助,也希望大家多多支持武林網。新聞熱點
疑難解答