【发布时间】:2020-07-16 12:23:55
【问题描述】:
正如标题所暗示的,我认为这在 Django 中是不可能的:如果写作是最新的,但是否有可能检测到在 request.HEADERS 中发送的 cookie 是否是 httpOnly?
【问题讨论】:
标签: django http cookies request http-headers
正如标题所暗示的,我认为这在 Django 中是不可能的:如果写作是最新的,但是否有可能检测到在 request.HEADERS 中发送的 cookie 是否是 httpOnly?
【问题讨论】:
标签: django http cookies request http-headers
没有。 HttpOnly 是 Set-Cookie response 标头的指令。 Cookie request 标头中没有任何内容表明这一点。这是关于 HTTP 的事实,而不是 Django 的限制。
【讨论】:
import requestscookies = {'sessionid': '17ab96bd8ffbe8ca58a78657a918558'}r = requests.post('http://example.com', cookies=cookies),那么我没有真正的 100% 保护网站的方法。也就是说,我传给客户端的cookie是httpOnly,但是如果我不能测试它是httpOnly,反过来,我就无法判断它是否被修改了。
HttpOnly 并非旨在解决该威胁向量,它只是为了阻止客户端访问 cookie。服务器不需要这种保护,因为它们已经有保护 cookie 的方法(例如,难以置信的长会话 id、安全消息摘要等)。 HttpOnly 不会真正帮助他们;如果恶意行为者知道如何伪造有效的会话 ID,则他们不需要使用合作浏览器;他们可以自己构造请求。