IP是否存储了存储IP地址的安全替代方案?

时间:2012-06-10 08:29:44

标签: security forms-authentication

我想为用户等进行一些测试,并希望以匿名方式存储结果。我对可能追踪用户并不感兴趣,但另一方面,我需要一种方法来避免重复提交(在特定时间范围内)。所以我的想法是:为什么不只是存储他们的IP地址的哈希并检查后续提交而不是保存实际的IP地址?

这听起来很简单,我担心错过了什么,所以我向专家提出的问题是:

  • 它是否提供了一种相对安全的方法来防止重复提交?
  • 它确实为用户提供了合理的匿名性吗?
  • 是否有任何其他警告或问题我可能已经错过了(比如过度耗费资源等)?

感谢..

2 个答案:

答案 0 :(得分:0)

  

它是否提供了一种相对安全的方法来防止重复提交?

不,用户可以使用代理和其他方法来绕过IP检查。更不用说可以重置调制解调器的动态IP用户了。

  

它确实为用户提供了合理的匿名性吗?

单向算法将提供最佳的“匿名性”,因为从技术上讲,您无法以简单的方式对其进行反转。由@ ta.speot.is纠正的编辑,即使单向算法也可以轻易破解。

如果您的用户通过HTTP访问您的网页,您的服务器知道他们的IP并将其记录在访问权限中,我也不明白为什么将“匿名”用于哈希IP级别因此,除非其他人可以访问您数据库的存储数据,否则在对IP进行散列之间没有太大区别。

  

是否还有其他一些我可能错过的警告或问题(比如过度耗费资源等)?

即使您没有特别指定任何语言,简单的哈希函数也不应从服务器中获取太多资源。 =]

最后,散列IP可能被视为Security through obscurity尝试,因为它不会添加存储未散列IP的功能。

答案 1 :(得分:0)

你是对的 - 存储IP地址哈希对于“匿名”更好。 另外,为了避免重复提交,您可能还需要考虑X-Forwarded-For的值(与IP地址一起)。不是灵丹妙药,而是优于IP地址。