我正在使用PHP和Javascript实现投票系统。一切都运作良好,但我很难多次阻止人们。现在,我正在使用cookie检查用户是否已经投票:
if(isset($_COOKIE['lastdate'])) {
$val = $_COOKIE['lastdate'];
if ($val == $today)
{
$voted = 1;
}
}
它有效,但它很容易被人隐姓埋名或切换浏览器/清除Cookie。
为什么我不使用IP地址?因为我们在工作中使用此站点并且所有计算机都连接到路由器,所以所有IP都是相同的。
问题是,如何在不使用常规IP且不使用任何类型的身份验证/登录的情况下阻止多投票,识别客户端?
答案 0 :(得分:0)
不幸的是,如果不使用某种形式的身份验证,用户将始终能够绕过阻止它们的尝试。
隐身窗口会移除所有Cookie并创建新会话 - 这意味着您现在无法识别该用户。添加cookie和会话检查将减少作弊,但实际上没有别的办法。
我建议从社交网络一键登录,这对用户来说通常是一个很好的组合 - 他们不需要注册,但他们仍然登录。这意味着他们只能使用多个社交媒体帐户作弊,这是更多的工作。