PHP 投票 - 跟踪用户
PHP Voting - Track User
我正在使用 PHP 和 Javascript 实施投票系统。一切正常,但我无法多次阻止人们。现在,我正在使用 cookie 检查用户是否已经投票:
if(isset($_COOKIE['lastdate'])) {
$val = $_COOKIE['lastdate'];
if ($val == $today)
{
$voted = 1;
}
}
它有效,但它容易受到隐身或切换 browsers/clearing cookies 的人的攻击。
为什么我不使用 IP 地址?因为我们在工作中使用这个站点并且所有计算机都连接到路由器,所以所有 IP 都是相同的。
问题是,在没有常规 IP 且不使用任何类型的 authentication/login 的情况下,如何防止多票投票、识别客户端?
不幸的是,如果不使用某种形式的身份验证,用户将始终能够绕过您阻止他们的尝试。
Incognito window 删除所有 cookie 并创建一个新会话 - 这意味着您现在无法识别该用户。添加 cookie 和会话检查将减少作弊,但确实没有其他方法可以解决这个问题。
我建议从社交网络一键登录,这对用户来说通常是一个很好的组合——他们不必注册,但他们仍然会登录。这意味着他们只能使用多个社交媒体帐户作弊,这需要更多的工作。
我正在使用 PHP 和 Javascript 实施投票系统。一切正常,但我无法多次阻止人们。现在,我正在使用 cookie 检查用户是否已经投票:
if(isset($_COOKIE['lastdate'])) {
$val = $_COOKIE['lastdate'];
if ($val == $today)
{
$voted = 1;
}
}
它有效,但它容易受到隐身或切换 browsers/clearing cookies 的人的攻击。
为什么我不使用 IP 地址?因为我们在工作中使用这个站点并且所有计算机都连接到路由器,所以所有 IP 都是相同的。
问题是,在没有常规 IP 且不使用任何类型的 authentication/login 的情况下,如何防止多票投票、识别客户端?
不幸的是,如果不使用某种形式的身份验证,用户将始终能够绕过您阻止他们的尝试。
Incognito window 删除所有 cookie 并创建一个新会话 - 这意味着您现在无法识别该用户。添加 cookie 和会话检查将减少作弊,但确实没有其他方法可以解决这个问题。
我建议从社交网络一键登录,这对用户来说通常是一个很好的组合——他们不必注册,但他们仍然会登录。这意味着他们只能使用多个社交媒体帐户作弊,这需要更多的工作。