Html HTTP请求日志-无ip的唯一访问者

Html HTTP请求日志-无ip的唯一访问者,html,logging,apache,privacy,Html,Logging,Apache,Privacy,我如何记录请求以获得我网页的唯一访问者,但不保存他的ip 散列?是的,散列可以。只需获取用户IP的md5(),并将其用作数据结构(可以是数据库、某个文件或任何您喜欢的内容)的密钥 将md5(IP_地址)映射到一个数字的数据库表应该可以做到这一点。是的,如果您使用md5或SHA1对IP地址进行哈希,您将获得给定IP的相同哈希,但无法轻松地将其反转 然而,如果你确实想反转它,并且知道盐(如果使用了盐的话)你在尝试反转它方面有一个领先的开始,因为你知道明文是一个虚线四元体。您甚至可以将搜索空间缩小到特

我如何记录请求以获得我网页的唯一访问者,但不保存他的ip


散列?

是的,散列可以。只需获取用户IP的md5(),并将其用作数据结构(可以是数据库、某个文件或任何您喜欢的内容)的密钥


将md5(IP_地址)映射到一个数字的数据库表应该可以做到这一点。

是的,如果您使用md5或SHA1对IP地址进行哈希,您将获得给定IP的相同哈希,但无法轻松地将其反转

然而,如果你确实想反转它,并且知道盐(如果使用了盐的话)你在尝试反转它方面有一个领先的开始,因为你知道明文是一个虚线四元体。您甚至可以将搜索空间缩小到特定的国家/地区IP块


如果这是一个问题,请使用32位哈希,而不是像MD5那样的128位哈希,以便哈希空间与IP地址空间大小相同。为此,您可以简单地截断MD5哈希。你肯定会遇到碰撞,但尝试倒车不太可能给你带来太多的动力。

jea没错,有了新的cuda支持工具,即使是普通的计算机也有足够的能力快速破解这样的东西。由于您有10^12个可能性,所以无论数据库有多大,您都需要不到一个小时的时间来解析所有(!)IP。所以,如果你想阻止IP恢复,我想你需要一种类似salt的东西,它每天都会生成新的,第二天就会被覆盖,这样你就不能恢复了。IP地址是32位。最多有2^32(实际上更像是2^31)。蛮力强制2^32 MD5在现代硬件上速度很快,并且rainbow表适用于MD5。这没有提供任何帮助security@Flo:定期更换食盐有点挫败了进行独特访客分析的能力。每日食盐应该不是问题,因为我只需要一个id之类的东西来计算每日访客。2盐+SHA1+一天日志(日志将在一天结束时清除和分析),这是否足够?如果没有,如何保存密码,对吗?o、 0如果您每天都清除日志并只保存统计信息,那么使用每日salt就没有任何意义,而更灵活的salt将扼杀解决Unique的能力。如果你在24小时内删除,直接保存IP也不会太糟糕。