如果cookie设置了HttpOnly标志,可以在发生XSS时避免JavaScript读取cookie,这也是HttpOnly被引入的原因。


实现方式:


PHP中的设置
    1.在php.ini中
 session.cookie_httponly = true

 

    2.在程序中全局设定:
   ini_set("session.cookie_httponly", 1);
 // or
  session_set_cookie_params(0, NULL, NULL, NULL, TRUE);
 ?>

    3.Cookie操作函数setcookie函数和setrawcookie函数也专门添加了第7个参数来做为HttpOnly的选项,开启方法为:

 setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
 setrawcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
 

    4.对于PHP5.1以前版本以及PHP4版本的话,则需要通过header函数来变通下了:


  header("Set-Cookie: hidden=value; httpOnly");