【问题标题】:I receive cookies that were not set by my server我收到了不是由我的服务器设置的 cookie
【发布时间】:2012-10-25 23:28:50
【问题描述】:

我经营一个商业网站并使用 cookie。我记录了所有用户流量,并且经常可以看到用户浏览器发送给我的不是我设置的 cookie。规则规定浏览器不能发送由另一个域设置的 cookie。也许javascript可以设置cookie,但是我的服务器不会寻找除了我的PHP软件设置的cookie之外的任何cookie。

由于我经常收到网络攻击,我将中止任何请求的页面,该页面包含任何 GET、POST 或 COOKIE 数据,其中包含我不使用的变量以及包含我不会使用的字符的任何数据,以及变量的字符串长度是否超出了我设置的范围。

我担心我的一些客户群由于这个 cookie 问题而无法使用该网站。通过查看用户代理信息,我发现蜘蛛主要负责我的网站中止请求的页面。

有没有人理解这种行为并且可能知道向服务器发送未知 cookie 的意义?

【问题讨论】:

    标签: cookies


    【解决方案1】:

    这些可能来自几个地方。

    如您所料,cookie 可以在客户端使用 JavaScript 设置。也可以为整个域及其所有子域设置它们,例如,yoursite.example.com 可以为.example.com 设置 cookie,然后将其发送到 example.com 的 any 子域。

    在任何一种情况下,您的服务器都可能不是 cookie 的目标。就像 JavaScript 可以设置一个 cookie(使用document.cookie)一样,它也可以从这些 cookie 中读取。这是在浏览会话中使数据在页面之间持久保存的最广泛支持的方法之一;数据被发送到服务器的事实可能只是一个意想不到的副作用。您在分析脚本或广告网络跟踪等方面经常看到这一点。

    通常这些 cookie 无需担心。只要您始终验证您的用户输入,就可以了。

    如果您担心 JavaScript 设置的 cookie 会覆盖 您的 cookie,您可以将 cookie 设置为仅限 HTTP。请咨询PHP docs on setcookie 了解如何执行此操作。

    【讨论】:

    • 感谢您提供有用的 cmets。你说 JavaScript 可以设置 cookie,但我网站的页面包含最少的 JavaScript,我当然不会在我的 JavaScript 中设置任何 cookie。据我所知,加载我的一个页面后用户的浏览器将只包含我创建的 HTML/CSS/JavaScript。那么如何获取我未设置的 cookie?我很困惑!我的页面上没有广告。它只是简单的 HTML/CSS,没有来自任何其他链接网站的内容。
    猜你喜欢
    • 2017-07-31
    • 1970-01-01
    • 2014-12-13
    • 1970-01-01
    • 2014-12-03
    • 2023-03-12
    • 2014-11-04
    • 1970-01-01
    • 2020-07-13
    相关资源
    最近更新 更多