【问题标题】:cookie is not savaed by browser for localhost while redirect浏览器在重定向时不会为 localhost 保存 cookie
【发布时间】:2018-08-19 19:13:29
【问题描述】:

我无法以任何浏览器接受 302 响应的方式从服务器端为 localhost 设置 cookie。当浏览器收到响应时,我可以看到下一个标题(其中一些):

Request URL: https://non-localhost-server-url
Request Method: GET
Status Code: 302 Found
Referrer Policy: no-referrer-when-downgrade
Response Headers
view source
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Length: 0
location: http://127.0.0.1:8081/
Server: nginx
set-cookie: token=XXXXXXXXX; Version=1; Domain=127.0.0.1; Path=/
Request Headers
view source
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,uk;q=0.8,ru;q=0.7
Connection: keep-alive
Referer: http://127.0.0.1:8081/login
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36

但浏览器不保存 cookie(我在 Chrome 的内容设置中检查它)。我尝试将 cookie 的域设置为 localhost 而根本没有设置域,但这没有帮助。 也许应该存在一些额外的标题?提前致谢。

【问题讨论】:

  • 127.0.0.1 不是 "localhost"

标签: http cookies


【解决方案1】:
Request URL: https://non-localhost-server-url

HTTP 响应只能为发出请求的域设置 cookie。

您不能重定向到其他域并设置用于该域的 cookie。

如果一个网站可以为任意不同的网站设置cookie,那将是一个重大的安全问题。

【讨论】:

  • 我可以在不同的浏览器中以某种方式绕过这个限制吗?
  • 没有。如果可以的话,这将是一个重大的安全问题。
猜你喜欢
  • 2021-03-09
  • 1970-01-01
  • 2018-11-19
  • 2017-10-07
  • 1970-01-01
  • 2018-12-29
  • 2012-12-29
  • 1970-01-01
  • 2021-12-10
相关资源
最近更新 更多