httponly是微软对cookie做的扩展,这个主要是解决用户的cookie可能被盗用的问题。也就是解决浏览器里javascript访问cookie的问题。
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的选项,开启方法为:
<?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");
?>