PHP - 跟踪投票的IP的最佳方式

时间:2018-02-14 19:21:28

标签: php mysql sql

我正在制作一个小型项目,客人可以在某些帖子上投票同意或不同意,然后我想保存在数据库中投票的IP。我正在考虑保存在“帖子”表中投票的一系列IP,但我猜这可能不够。是否会建议使用如下的单独表格? post_votes: post_id,IP 无论用户投票是否同意,只要投票被计算在内,他们将无法再次投票。对此最好的方法是什么?提前谢谢。

1 个答案:

答案 0 :(得分:1)

是的,最好的方法是使用带有标识符的单独表格(例如post_id)来识别帖子。 永远不要为每个字段保存多个信息 - 将信息保存在同一个表中的数组中是很残忍的。

但是, NOT 在数据库中“按原样”存储IP地址,因为这在许多国家/地区都是非法的,并且可能会造成很多麻烦! 而是使用像hash_hmachttp://php.net/manual/de/function.hash-hmac.php)之类的散列函数,对IP地址进行散列并保存散列。 因为哈希是单向函数,这将确保用户匿名,但仍然让您有机会阻止用户多次投票。