是否有可能在javascript中禁用设置cookie而stil能够读取它们? 在我的网站上我只在php中设置了cookie,但是我可以从Javascript中读取它们。 我知道在创建cookie时会有一个httpOnly标志但限制了Javascript的读写访问权限。 我想限制写访问的原因当然是安全性,因为用户甚至可以从浏览器轻松设置cookie,我想阻止它。
答案 0 :(得分:1)
最短的答案:不,这是不可能的。
答案 1 :(得分:0)
你可以做的是创建两个cookie:
MY_COOKIE_HTTP_ONLY
MY_COOKIE
在后端使用相同的值。一个是http,另一个不是。 MY_COOKIE_HTTP_ONLY cookie将在后端使用,MY_COOKIE将在浏览器中使用。如果攻击者在浏览器端更改了MY_COOKIE的值,那么基本上可以,因为如果攻击者可以访问您的浏览器,他们可以做各种事情,但只能在浏览器端。
另一方面,您可以通过比较值来识别这种情况。
答案 2 :(得分:0)
您可以通过覆盖 document.cookie
document.__defineGetter__("cookie", document.__lookupGetter__("cookie") );
document.__defineSetter__("cookie", function() {} );
答案 3 :(得分:0)
正如其他人所述,您不能阻止用户在自己的计算机上编辑文件,这实际上是您需要采取的行动,以阻止用户编辑Cookie。
但这并不意味着您没有选择余地。您可以在Cookie中包含验证码(例如HMAC)。用户仍然可以读取和更改该Cookie,但是至少您将能够检测到他们何时执行并忽略提供的数据。