PHP设置Cookie的HTTPONLY属性⽅法
httponly是微软对cookie做的扩展,这个主要是解决⽤户的cookie可能被盗⽤的问题。
⼤家都知道,当我们去邮箱或者论坛登陆后,服务器会写⼀些cookie到我们的浏览器,当下次再访问其他页⾯时,由于浏览器回⾃动传递cookie,这样就实现了⼀次登陆就可以看到所有需要登陆后才能看到的内容。也就是说,实质上,所有的登陆状态这些都是建⽴在cookie上的!假设我们登陆后的cookie被⼈获得,那就会有暴露个⼈信息的危险!当然,想想,其他⼈怎么可以获得客户的cookie?那必然是有不怀好意的⼈的程序在浏览器⾥运⾏!如果是现在满天飞的流氓软件,那没有办
法,httponly也不是⽤来解决这种情况的,它是⽤来解决浏览器⾥javascript访问cookie的问题。试想,⼀个flash程序在你的浏览器⾥运⾏,就可以获得你的cookie的!
IE6的SP1⾥就带了对httponly的⽀持,所以相对还说还是些安全性。
PHP中的设置
PHP5.2以上版本已⽀持HttpOnly参数的设置,同样也⽀持全局的HttpOnly的设置,在php.ini中
-----------------------------------------------------
-----------------------------------------------------
设置其值为1或者TRUE,来开启全局的Cookie的HttpOnly属性,当然也⽀持在代码中来开启:
<?php ini_set("kie_httponly", 1);
php中header是什么意思// or session_set_cookie_params(0, NULL, NULL, NULL, TRUE);
>
Cookie操作函数setcookie函数和setrawcookie函数也专门添加了第7个参数来做为HttpOnly的选项,开启⽅法为:
<?php
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");
>
以上这篇PHP设置Cookie的HTTPONLY属性⽅法就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论