(取自求职面试)
以下哪个答案是正确的?
httponly
参数答案 0 :(得分:6)
设置Cookie标头后,您可以指定httpOnly
。
这可以通过PHP的setcookie
函数来完成:
setcookie ( $name, $value, $expire, $path, $domain, $secure, $httponly )
httpOnly指示浏览器不允许JS访问cookie。
答案 1 :(得分:4)
正确答案是第一个:
Use the httponly parameter when setting the cookie
此标志阻止(在兼容的浏览器上,几乎所有,包括IE> = 6sp1)浏览器上的javascript引擎使用此参数访问Cookie。您可以为setcookie的常规Cookie和session_set_cookie_params的会话Cookie设置此标记。
编辑:支持IE> = 6sp1而不是IE> = 7
答案 2 :(得分:1)
一个cookie是客户端.....?
用户必须关闭Javascript支持 - 积极的
在设置cookie时使用httponly参数 - 可能是正确的答案,但正如之前所回答的那样..我认为有解决办法
答案 3 :(得分:1)
Cookie是HTTP概念,而不是PHP概念。 PHP可以创建和修改cookie,但没有像“PHP COOKIE”这样的东西。浏览器不关心响应是由PHP,Python还是perl cgi生成的。
试图找出真正的问题,可能性是:
我打赌问题1.我理解正确的问题应该是:
“为什么客户端使用javascript或任何其他方法,它无法查看或修改存储在PHP会话中的信息?”
然后,答案是:
“因为,即使PHP会话使用cookie,这个cookie也仅用于存储会话ID,而不是会话内容。会话内容存储在服务器上,而不是cookie本身。”