PHP设置Cookie的HTTPONLY属性

httponly是微软对cookie作的扩展。这个主要是解决用户的cookie可能被盗用的问题。
    你们都知道,当咱们去邮箱或者论坛登录后,服务器会写一些cookie到咱们的浏览器,当下次再访问其余页面时,因为浏览器回自动传递cookie,这样就实现了一次登录就能够看到全部须要登录后才能看到的内容。也就是说,实质上,全部的登录状态这些都是创建在cookie上的!假设咱们登录后的cookie被人得到,那就会有暴露我的信息的危险!固然,想一想,其余人怎么能够得到客户的cookie?那必然是有不怀好意的人的程序在浏览器里运行!若是是如今满天飞的流氓软件,那没有办法,httponly也不是用来解决这种状况的,它是用来解决浏览器里javascript访问cookie的问题。试想,一个flash程序在你的浏览器里运行,就能够得到你的cookie的!
    IE6的SP1里就带了对httponly的支持,因此相对还说仍是些安全性。javascript

 

PHP中的设置 
 PHP5.2以上版本已支持HttpOnly参数的设置,一样也支持全局的HttpOnly的设置,在php.ini中
 ----------------------------------------------------- 
 session.cookie_httponly = 
 ----------------------------------------------------- 
设置其值为1或者TRUE,来开启全局的Cookie的HttpOnly属性,固然也支持在代码中来开启: 
 ----------------------------------------------------- 
 <?php ini_set("session.cookie_httponly", 1); 
 // or session_set_cookie_params(0, NULL, NULL, NULL, TRUE); 
 ?> 
 ----------------------------------------------------- 
Cookie操做函数setcookie函数和setrawcookie函数也专门添加了第7个参数来作为HttpOnly的选项,开启方法为: 
 ------------------------------------------------------- 
 setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE); 
 setrawcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
 ------------------------------------------------------- 
 对于PHP5.1之前版本以及PHP4版本的话,则须要经过header函数来变通下了: 
 ------------------------------------------------------------- 
 <?php header("Set-Cookie: hidden=value; httpOnly"); ?> 
相关文章
相关标签/搜索