【发布时间】:2018-02-14 06:31:09
【问题描述】:
这是我研究了一段时间的问题。
我的重定向似乎不尊重 302 重定向中的 Set-Cookie 属性。
以下是我使用wireshark 获取的请求和响应标头。
HTTP/1.1 302 Moved Temporarily\r\n
Connection: close\r\n
Location: http://192.168.1.1:8888/home/\r\n
Set-Cookie: foo=test_data; Domain=192.168.1.1; Path=/\r\n
\r\n
GET /home/ HTTP/1.1\r\n
Host: 192.168.1.1:8888\r\n
Connection: keep-alive\r\n
Upgrade-Insecure-Requests: 1\r\n
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36\r\n
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\r\n
Accept-Encoding: gzip, deflate\r\n
Accept-Language: en-US,en;q=0.8\r\n
DNT: 1\r\n
\r\n
我只是稍微清理了内容,但不应该修改任何重要的内容。关键是无论我使用什么浏览器,cookie 'foo' 都没有放在 302 之后的 GET 请求中。根据我的阅读,这不是预期的行为。我相信这一点不正确吗? 302 有什么我遗漏或做错了吗?
【问题讨论】:
-
当您访问返回
302的URL时,它是否托管在192.168.1.1:8888上? -
不,它可以是任何东西。重定向基本上形成为 MITM
标签: http redirect cookies get setcookie