【问题标题】:Unique user identification唯一的用户标识
【发布时间】:2011-02-02 15:30:24
【问题描述】:

我正在开发一个 webby,它需要 唯一 用户标识,例如 IP/MAC 地址。但它有一个小问题。我们公司是银行下属金融集团的一部分。这意味着他们有严格的防火墙策略,通过它的所有内容都是相同的内部 IP,它还会过滤一些关于用户的额外信息,我不能再次将其用作他们的安全策略。网站使用人们可以提供的贷款。财务部门希望确保一个用户不会在短时间内发送超过 30 个请求,等等。

因此,我需要确保我使用的标识符可靠且难以伪造,或者至少具有某种一致性,并且不会因任何额外的点击(ActiveX、安装第 3 方的东西等)而打扰用户。 Cookies,可关闭或删除,IP可更改(VPN,动态IP)。

最好使用 PHP 或 JS,虽然 JAVA/python 也可以使用。我尝试了互联网,但无法得到直接的答案。

非常感谢任何想法

问候

【问题讨论】:

  • 据我所知,没有办法可靠地针对想要绕过它的人做你想做的事。然而,对于普通用户来说,只需要求一个用户帐户关联一个唯一的电子邮件是一个很好的步骤。

标签: php browser system security


【解决方案1】:

用户会登录网站吗?如果是这样,只需按用户帐户限制活动即可。

否则,没有有效的方法来阻止坚定的对手进行匿名活动。

【讨论】:

  • 我无法想象为什么这个网站没有登录?如果想法是将用户更紧密地链接到活动,那么您可以考虑将客户端证书部署到每个用户的计算机。只有在您的网站涉及大量资金时才值得一看。
【解决方案2】:

您可以使用 cookie 来存储唯一标识符并生成安全令牌(某种散列,例如结合一些唯一用户信息的 Sha-512 散列)。

如果您希望即使禁用 cookie 也能使用此方法,您可以使用隐藏字段并在其中设置 cookie 中可能包含的内容,并在每次发布后将会话标识符和安全令牌返回给服务器-返回。

因此,您只需注意在哈希机制中使用某种“盐”,这样外部程序、插件或黑客就无法破解您的哈希/加密信息。

【讨论】:

  • 这适用于普通用户,但没有什么能阻止聪明的用户伪造 cookie 数据。
  • 你错了 :D Cookie 数据使用一种或多种只有服务器知道的盐进行散列,这意味着这是不可能的 - 只有当有人入侵 Web 服务器时 - 才能窃取盐并生成有效的散列.请记住,某些会话服务(服务器)会将会话存储在某个表或其他存储中,并且发送给客户端的散列版本使用盐进行散列,因此,服务器端存储的版本没有这种盐,哈希是不可能在客户端重现的。
  • 这种方法的问题是,我需要最可靠的标识符,我可以在盐之间使用它:) 生成盐、哈希等不是问题。
  • 但是,遗憾的是,Web 浏览器不会向您发送实际 IP,而是代理 IP,或者像您的情况一样,对所有人都一样...您并没有真正的“唯一”信息.我前段时间一直在寻找同样的东西,没有办法。例如,您无法知道客户端的 MAC 地址,这将是一个很好的唯一标识符,即使不是最好的。正如我建议的那样,服务器负责将“唯一标识符”设置给客户端......
  • @Matías 即使浏览器会,我怀疑你会找到像 10.10.0.10 这样有用的 IP 地址
【解决方案3】:

互联网上没有用户。只有电脑...

【讨论】:

  • 其实没有电脑。只有数据包。
猜你喜欢
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-08
  • 1970-01-01
  • 1970-01-01
  • 2020-09-27
相关资源
最近更新 更多