一位客户指出我的 WordPress 页面可能存在安全问题 - 他所做的是删除 WordPress 在请求标头中设置的 cookie,并查看他是否可以访问受保护的区域。他可以。所以为了重现这个问题,我做了一个健全性测试。
我编写了一些示例代码来测试 cookie 和 PHP 中请求标头之间的关系:
<?php
echo '<pre>'.print_r($_COOKIE, true)."</pre>";
setcookie("test", 5);
?>
我从 Chrome 中获取请求标头:
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Cookie:test=5
Host:localhost:8888
Referer:http://localhost:8888/testcookies/
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
并使用Restlet 的 DHC,我删除了带有 Cookie 的行,并将其发送到带有上述脚本的页面。不知何故,测试cookie的值仍然设置?为什么,它是一个安全漏洞吗?