Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 投票限制_Php_Mysql - Fatal编程技术网

Php 投票限制

Php 投票限制,php,mysql,Php,Mysql,我以前问过这个问题,但现在我要说得更具体一些。我有一个投票系统,任何人都可以投票(不需要是注册用户)。我只想让用户投票一次。我想,最好的方式是通过布尔语,不是吗?所以我只是想让你告诉我一个更好的方式。代码如下: <?php $tries=0; if (((isset($_POST['hidden']))&&$tries<2) { $tries++; $likes++; $up = mysql_query("Update videos SET L

我以前问过这个问题,但现在我要说得更具体一些。我有一个投票系统,任何人都可以投票(不需要是注册用户)。我只想让用户投票一次。我想,最好的方式是通过布尔语,不是吗?所以我只是想让你告诉我一个更好的方式。代码如下:

<?php
$tries=0;
if (((isset($_POST['hidden']))&&$tries<2) {
    $tries++;
    $likes++;
    $up = mysql_query("Update videos SET Likes='$likes' WHERE Name='$name'");
}
?>

如果用户没有注册,你真的不知道他以前是否投票过。一些常见的方法(远不是防弹的)是将每个IP的投票记录保留一段时间(因此,如果日志表包含此内容的IP,则不接受投票),或者使用cookies来了解此人是否已投票


以上各项均为100%!这就是大多数公司不允许匿名投票的原因。

我知道有一家初创公司需要的东西与你需要的几乎相同。他们实施了一些控制,比如这个网站

这告诉你:

您的浏览器指纹在2762716中似乎是唯一的 到目前为止已经测试过了

目前,我们估计您的浏览器有一个指纹 传送至少21.4位的识别信息

这意味着它会生成用户代理的指纹,以及其他参数。这不是一个独立的实现,因为它不是100%有效的。他们还实现了一种手动投票验证方法,该方法可以处理那些不适合过滤器的指纹结果

将此应用到您的案例中。您将需要实施此指纹解决方案(或其他类似的解决方案),并手动检查异常(用户/投票越多,异常越多)


希望能有帮助。

哦,孩子。你正在深入这里。你听说过没有注册的在线投票烧掉的所有公司吗?看山露。。。。此外,这个代码< $Test> 变量,你将永远不会是零,因为它每次被执行PHP脚本时都被重置。“不需要是注册用户”——“允许用户”:推特你的人:)不管怎样,考虑使用OAuth~通过FB/Twitter注册/注册什么,所以注册是不需要的,唯一性是安全的。如果它只对注册用户起作用,我不会问这个问题。这是它应该起作用的方式。这是相当广泛的,我们需要更多关于用户系统的细节,等等。我们想说类似的话,但附带条件是IP地址可以,也将被欺骗。正如我所说,这远远不是100%。即使没有被欺骗,在一个移动友好的站点上屏蔽一个IP,通常也会屏蔽一个运营商网关,所以在几次投票后整个运营商都会被屏蔽(NAT)。这是真的。从理论上讲,封锁IP地址会导致人们无法通过自己的过错获得访问权。