setcookie的httponly属性

setcookie函数原型:http://cn2.php.net/setcookie

setcookie的httponly属性如果设为true的话,会增加对xss防护的安全系数。它有以下特点:  

   1、setcookie()的第七个参数
   2、设为true后,只能通过http访问,javascript无法访问
   3、防止xss读取cookie
   4、php5.2以上版本已支持HttpOnly参数的设置,同样也支持全局的HttpOnly的设置,在php.ini中,session.cookie_httponly = ture 来开启全局的Cookie的HttpOnly属性,当然也支持在代码中来开启:
       

            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);
   5、对于PHP5.1以前版本以及PHP4版本的话,则需要通过header函数来变通下了:
     

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


你可能感兴趣的:(安全测试)