【问题标题】:Track anonymous users without forcing users to go through authentication proccess跟踪匿名用户而不强制用户通过身份验证过程
【发布时间】:2016-05-07 13:47:05
【问题描述】:

我想跟踪所有用户(认证用户和匿名用户),目前我找到的解决方案并不好。

首先,我们可以使用cookie,但我们都知道它不是一个可靠的解决方案,其次我们可以使用浏览器指纹,但直到现在我还没有找到任何服务器端的解决方案。 我找到了这个解决方案valve,但它是针对客户端的,而这个browserFingerPrint,我想要一种用户在请求中找不到任何令牌的方法,我想在服务器端创建密钥以便我可以跟踪用户。

有人知道解决办法吗?

注意:我的服务器端技术是 Asp.net Mvc 用例:用户可以在 m 网站上发表评论,也可以喜欢或不喜欢 cmets,我想允许所有用户这样做,并且我想在操作之前跟踪用户(喜欢或不喜欢)

【问题讨论】:

  • 如果您的用户决定在他们的浏览器中进入隐身模式,那么您绝对不会跟踪他们。这正是设计隐身模式的原因:防止滥用网站跟踪不希望被跟踪的用户。所以基本上你在这场战斗开始之前就已经输掉了。跟踪它们的唯一可靠方法是通过身份验证。其他一切都是浪费时间。
  • fingerprint.pet-portal.eu 在你拥有的每一个浏览器中都使用这个,也可以隐身,你可以看到密钥都是一样的,我想要这种解决方案。
  • 但这并不意味着无法删除它创建的evercookie。这有点困难,并且用户有足够的知识可以删除所有痕迹。此外,您的问题是您需要以某种方式将此指纹传输到服务器。所以它必须是 HTTP 请求的一部分。但是,如果用户决定不使用浏览器,而是直接向您的站点发送 HTTP 请求怎么办?
  • 我不需要 100% 可靠的解决方案 80 90% 对我来说已经足够了,如果它达到 100% 事件更好。
  • 您是否需要处理用户简单地向您的站点伪造 HTTP 请求的情况?因为在这种情况下,他可以发送他想要的任何标头和信息,而您的服务器将无法识别用户,除非您当然需要身份验证。

标签: asp.net-mvc anonymous-users


【解决方案1】:

不,没有不使用某种形式的“令牌”对匿名用户进行指纹识别的解决方案。

让我们看看为什么。

匿名浏览器发送一系列数据位,例如 IP、浏览器代理和其他标头。这些不应该用于识别用户,因为它们很容易被伪造。它们可以用于跟踪,对于大多数目的,IP 地址或基于 IP 地址和浏览器代理的一些哈希就足够了。但是,这不适用于需要安全的事情,例如评论者身份验证。

对于评论者识别,有必要防止欺诈。这通常是通过给每个用户一个唯一的令牌来实现的。这可以以多种形式传输,我想不到:cookie、标头、查询字符串、POST 参数或客户端证书。但是,它确实需要 服务器 发出的令牌。如果 client 可以从头开始生成令牌,那么它可以生成 fake 令牌。

【讨论】:

  • 我知道用户可以伪造数据,但我的解决方案是 cookie,我想要一个更可靠的解决方案,我不需要 100% 的可靠性,只是一个更好的解决方案。
  • 每个人都知道cookie,他们知道如果他们删除它可以伪造数据,我想让他们的伪造过程更加困难。
  • @EhsanElhampour 所以即使他们不想要,您也想跟踪他们?这不道德。
  • 不不,不要误会我的意思,我不想强​​迫他们登录网站以喜欢或不喜欢 cmets,我想让他们的方法更容易,但为此我不想要使用 cookie 我想要一个更可靠的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-20
  • 2016-01-05
  • 2021-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多