假设您正在编写调查应用程序,并希望以某种方式保证结果从用户角度来看是安全的.简单来说,我知道你来自哪个IP,但我想确保你晚上睡得好,因为我知道你对你的回答一无所知.我不能以原始形式存储IP.
我确实需要保证一件事,那就是你回答一次问题.因此,一旦您的PC输入了一些数据,我需要认识到您的PC已经响应了调查.
有关如何最好地处理它的任何建议?
谢谢 - 马克
小智 5
创建IP地址的单向散列(以及任何其他唯一标识属性),并将散列与响应一起存储.这样,没有人可以查找响应的IP地址,但您可以将哈希值与之前提交的响应进行比较,以确保人们只提交一次表单.
你无法说服别人尊重他们的隐私.只是不要滥用信任,人们会把它解决掉.
(有关如何在java中创建哈希的想法,请参阅如何生成MD5哈希?)
您无法保证其中任何一个。你所能做的就是提高门槛,这样就更难绕过它。如果有人真的想绕过你的跟踪,只要他们对你的系统有足够的了解,他们就可以做到。好消息是大多数人要么不想打扰,要么不知道如何打扰。
如果您想防止代理问题,您可以生成加密哈希并将其存储在用户浏览器上的 cookie 中。许多网站这样做是为了保持会话创建以跟踪身份验证。这类似于使用 HMAC 生成一些东西,用无法伪造的唯一密钥来标识浏览器。如果他们清除浏览器,您将无法跟踪他们。
IP 地址的一种方式哈希是防止您的 IP 被跟踪的一种方法,但相同的 IP 始终会哈希为相同的值,因此您可以判断是否有人在这样做。但是,如果他们去网吧中提琴,他们可以重新提交。为此,您可以使用 SHA1、MD5 等。
您可以对电子邮件地址执行相同的操作并对其进行哈希处理。为了让人们愿意参与,请将结果发送到他们的电子邮件地址,而不是显示在浏览器中。人们只需要相信您不会用他们的电子邮件做一些令人讨厌的事情。
如果您也知道要向谁发送调查问卷,则可能有其他想法。生成一个随机数来识别单个响应。然后通过电子邮件将这些链接发送给人们。然后他们将根据该号码提交,并且您不跟踪电子邮件 -> 随机号码,那么您就无法将答案与电子邮件地址关联起来。一旦随机数被使用一次,你就不允许他们再次提交。跟踪回复一次。多次显示结果。
您可以将其中一些组合在一起,尝试解决另一个的缺陷。
| 归档时间: |
|
| 查看次数: |
272 次 |
| 最近记录: |