aru*_*nk2 4 cookies google-chrome amazon-ec2
升级到 chrome 57 或 58 后,不会为“amazonaws.com”和子域设置 Cookie。之前它运行良好。
以下是其中一个 EC2 实例中的测试文件,该文件在浏览器中为域“.amazonaws.com”设置 cookie。但是,cookie 永远不会被设置。(注意:我们访问 EC2 公共 DNS,它是 amazonaws.com 中的主机)
<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/", ".amazonaws.com"); // 86400 = 1 day
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
Run Code Online (Sandbox Code Playgroud)
但是当我们使用我们的域“.company.com”设置 cookie 并通过我们的子域 DNS 访问时。Cookie 正在那里设置。
仅在升级到 chrome 57 或 58 后才会发生这种未设置 cookie 的行为。
有关于 chrome 更新的 COOKIE 特定更改的指针吗?
Chrome 的这种行为似乎是正确的。
此 WontFix/WorkingAsIntending 错误报告——关于另一个(非 AWS)域——引用了Chromium 中的这一更改——反过来,这似乎与公共后缀列表的此更改相关......这一更改添加了及其其他 AWS 区域的同行也已加入该列表。*.compute-1.amazonaws.com
以前,compute-1.amazonaws.com列表中前面没有通配符。
此更改应该有效地防止在(例如)上设置 cookie ec2-203-0-113-0.compute-1.amazonaws.com...如果您考虑一下,无论如何,这种做法毫无意义,因为...
ec2-203-0-113-0.compute-1.amazonaws.com不是您的域中的主机名。
它只是今天恰好分配给您的 IP 地址的正向/反向 DNS 条目。分配给你的时间可能很短也可能很长,但众所周知,五分钟后你就可以停止使用它,它可以分配给其他人,任何浏览器都可以访问他们认为的内容明天,您的网站将尽职尽责地将其 cookie 移交给恰好在该地址上侦听的任何服务器......可能会创建一个简洁的漏洞利用向量。
如果您需要从 EC2 实例设置 cookie,您应该将您自己的域中的主机名指向这些实例。
| 归档时间: |
|
| 查看次数: |
2452 次 |
| 最近记录: |