【问题标题】:Detecting new visitors to website without using cookies在不使用 cookie 的情况下检测网站的新访问者
【发布时间】:2011-03-11 22:22:20
【问题描述】:

我们正在寻求创建一个网站,向网站的所有新访问者显示信息,即欢迎,请阅读我们的帮助指南等。

最大的问题是我们的网站不允许使用长效 cookie(即超过 20 分钟)。有谁知道我们可以确定用户之前是否访问过该网站的任何方式。作为另一个限制,我们不能向系统添加任何形式的注册。

应用程序正在 ASP.Net 3.5 中创建。

感谢您的帮助

【问题讨论】:

    标签: c# asp.net authentication cookies


    【解决方案1】:

    EFF 有一个您可以访问的工具/站点,它显示了如何使用插件、操作系统详细信息、浏览器详细信息等,您可以相当独特地确定访问。它可以提供一些关于存储在数据库中的详细信息的见解,以确定用户以前是否曾去过那里:

    https://panopticlick.eff.org/

    您可以尝试使用 IP 地址,但无论如何,由于 NAT'ing 和大多数 ISP 分发动态 IP 地址,您永远无法真正知道访问的用户是不是曾经到过那里的用户。

    【讨论】:

    • +1:太棒了。我很好奇该信息多久更改一次;例如,我正在使用 Opera,它具有自动更新功能,用户代理会经常更改。该信息的其他部分看起来相当稳定(时区、屏幕分辨率)。我用 Opera、IE、Firefox 和 Chrome 进行了测试,所有 4 个都告诉我“指纹是独一无二的”。
    • 是的,如果您担心隐私,这实际上有点可怕。就像你说的那样,如果你经常更改设置,你总是会显得不同。或者,如果您屏蔽了足够多的设置,您会(希望)看起来像很多其他用户。
    【解决方案2】:

    如果您无法在客户端存储信息,那么除了保存 IP 并比较它们之外,这是不可能的,这也不是很准确。

    【讨论】:

      【解决方案3】:

      是否有人知道我们可以确定用户之前是否访问过该网站的任何方法。

      不,你不能。由于您不能使用 cookie,因此您所拥有的只是客户端默认发送的内容:IP 地址、用户代理信息。随着当前 IPv4 的枯竭和 NAT 设备的普及,IP 毫无用处。

      【讨论】:

        【解决方案4】:

        唯一的方法是捕获网络浏览器的 IP 地址并将其用作唯一 ID - 假设它确实是唯一的。

        【讨论】:

        • 嗨,这是我的想法,但是就像你说的,用户和他们的 IP 地址会有重叠。
        • 重叠?你很乐观。 “运营商级 NAT”怎么样。具有快速连接-断开连接的 3G 网络怎么样(您可能会获得其他人 5 分钟前使用的 IP)。
        • -1:至少在德国,几乎每个使用普通 DSL 的人每 24 小时都有一个新的 IP 地址。
        • 是的,我不太欣赏“重叠” - 这里的一位网络人员刚刚解释了 NAT 的工作原理。
        【解决方案5】:

        您不能依赖 IP,因为它可以由多个用户共享,或者为一个用户更改。

        如果不能在客户端存储cookie,那是不可能的。

        你也可以问他:“你以前访问过这个网站吗?”,但我怀疑这是个好习惯:D

        【讨论】:

          【解决方案6】:

          在会话中存储一个布尔值,例如“AlreadyVisited”。因此,每次用户第一次访问该页面时,他都会看到您的欢迎信息。

          显示后,将布尔值设置为false(需要将其存储在会话中)

          【讨论】:

            猜你喜欢
            • 2022-11-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-04-11
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多