首页 > 解决方案 > 如何让用户只提交一票?

问题描述

我必须建立一个用户只能投票一次的网站。我尝试使用他们的 IP 地址在我的数据库中注册它们,$_SERVER['REMOTE_ADDR']但我做了一些研究,发现在某些情况下,多个用户可以拥有相同的 IP(使用相同的 wifi 或 IPS 在他们之间共享 IP)。另外,我不希望他们创建一个能够投票的帐户,或者使用 facebook、google 等登录...

有没有办法用 PHP 做到这一点?

标签: phpmysqlmysqli

解决方案


您可以将指纹存储到数据库,然后像以前一样将其与 IP 地址
https://github.com/Valve/fingerprintjs
进行比较, 或者您可以通过存储用户的设备、宽度、高度、时区等来制作自己的指纹

但如果有人用其他设备投票,它就会失败。
我认为它必须像反欺诈系统一样工作,但它们基于我编写的相同方式。


推荐阅读