在存储之前加密用户的IP地址

fed*_*o-t 4 php mysql ip ipv4 ipv6

我正在使用PHPMySQL,我想将用户的IP地址存储到数据库中以进行比较(例如,每个IP只允许一个标志到一个线程).可以通过以下方式进行吗?

在PHP中检索它:

$ipAddress = md5($_SERVER["REMOTE_ADDR"]);
Run Code Online (Sandbox Code Playgroud)

然后将其保存到数据库中VARCHAR(32).

如果我不得不更全面地使用IP,我认为这不是正确的方法,但如果只是为了确保相同的IP没有做两次,那么可以使用md5加密简化事情(将IPv4IPv6地址统一为一个)?

Dan*_*man 5

是的,这很好,虽然你的术语是错误的:这是散列,而散列不是加密.

您还应该解析X-FORWARDED-FORClient-IP标题,除非您想阻止代理后面的每个人,就好像他们是单个用户(例如,大公司,高中等所有人).