我经营一个商业网站,我使用cookies。我记录所有用户流量,并且经常可以看到用户浏览器发送给我的cookie,这些cookie是我未设置的。规则规定浏览器不能发送由另一个域设置的cookie。也许javascript可以设置一个cookie,但有什么意义,因为我的服务器不会查找除我的PHP软件设置之外的任何cookie。
由于我经常收到网络攻击,我会中止任何请求的页面,其中包含任何我不使用的变量的GET,POST或COOKIE数据以及包含我不会使用的字符的任何数据以及变量的字符串长度是我设定的限制。
由于这个cookie问题,我担心我的一些客户群无法使用该网站。通过查看用户代理信息,我看到蜘蛛通常可以响应我的网站中止请求的页面。
有没有人理解这种行为,也许知道发送服务器未知的cookie的重点?
答案 0 :(得分:0)
这些可能来自几个地方。
正如您所猜测的,可以使用JavaScript在客户端设置Cookie。它们也可以设置为整个域及其所有子域,例如yoursite.example.com
可以为.example.com
设置一个cookie,然后将其发送到任何子域的示例。融为一体
在任何一种情况下,您的服务器都可能不是Cookie的目标。正如JavaScript可以设置cookie(使用document.cookie
)一样,它也可以从这些cookie中读取。这是在浏览会话中使页面之间保持数据的最广泛支持的方法之一;将数据发送到服务器的事实可能只是一种意想不到的副作用。您可以通过分析脚本或广告网络跟踪等方式看到这一点。
通常这些cookie无需担心。只要您总是验证您的用户输入,您就可以了。
如果您担心通过JavaScript覆盖您的 Cookie设置Cookie,您可以将Cookie设置为仅限HTTP。有关如何执行此操作,请参阅PHP docs on setcookie。