Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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 防止投票垃圾邮件的最佳方法是什么?i、 e.reddit是如何做到的_Php_Spam_Slim_Reddit - Fatal编程技术网

Php 防止投票垃圾邮件的最佳方法是什么?i、 e.reddit是如何做到的

Php 防止投票垃圾邮件的最佳方法是什么?i、 e.reddit是如何做到的,php,spam,slim,reddit,Php,Spam,Slim,Reddit,众所周知,Reddit允许每个ip地址和每个链接进行1次投票,以避免垃圾邮件发送者的问题。我正在开发一个具有投票功能的Slim应用程序,坦率地说,我不知道如何实现这样的系统,因为我没有使用cookie和本机会话的经验。另外,我的大多数函数都有类似示例localhost:8888/myapp/voteup/item to vote的路径。对付自动机器人的最佳方法是混淆它们。隐藏一些文本输入字段,在名称字段周围以另一种方式命名,给它们命名为email,给它们命名为站点,给它们命名,等等 更倾向于只使

众所周知,Reddit允许每个ip地址和每个链接进行1次投票,以避免垃圾邮件发送者的问题。我正在开发一个具有投票功能的Slim应用程序,坦率地说,我不知道如何实现这样的系统,因为我没有使用cookie和本机会话的经验。另外,我的大多数函数都有类似示例localhost:8888/myapp/voteup/item to vote的路径。

对付自动机器人的最佳方法是混淆它们。隐藏一些文本输入字段,在名称字段周围以另一种方式命名,给它们命名为email,给它们命名为站点,给它们命名,等等

更倾向于只使用Javascript提交,因此它可以帮助减轻来自外部的表单提交。使用CSRF也会有所帮助。强制使用Cookie、HTTP自定义头,所有这些都是为了确保只有浏览器才能复制,而没有自动化的手段


逻辑问题也会有帮助,比如1+1等于多少,写下来答案必须是两个,然后随机设置,或者从W开始的一周中的哪一天。在我的网站上,我允许会员每24小时对1到5之间的代码进行一次评分。我通过添加哈希代码和使用ajax提交投票来阻止垃圾邮件。自从我在2012年6月加入垃圾投票以来,我还没有收到过任何垃圾投票。我以前每天从机器人那里得到大约40张选票,但现在这已经被淘汰了

例如,我的链接就是这样的:

因此,每次页面加载时,enc都是不同的,一旦提交投票,它就会再次更改

我的脚步

使用会话创建md5哈希 将哈希放在链接或表单隐藏字段上 在提交页面上进行测试,以确保会话与链接/字段匹配 重置散列 如果不使用ajax,则重定向回原始页面
这是匿名网站吗?这意味着你会要求用户在投票前先注册,还是任何发现该网站的人都可以投票?将投票操作与IP或成员配置文件耦合的区别正如我所说,我的应用程序是api驱动的,api将是公共的,所以我需要一个傻瓜安全的方法。好吧,api是公共的,你需要请求一个访问密钥,api是秘密的,所以它是公共的,但不是那么多。公共api可以在不需要密钥的情况下访问调用,只有POST/PUT需要一个API密钥,否则你会有一个缓和的方法,这比首先避免问题要糟糕得多。你能提供一些代码来说明我自己可能如何做吗?。。。我相当困惑。下面是我提供的一个类似的答案,基本上是一样的: