Avi*_*X14 2 php mysql forms cookies limit
在我的新网站上,我希望通过限制用户每小时最多2个帖子来减少垃圾邮件(这可能会改为允许更多,但现在只有2个)我设计了一种使用cookie的方法,但是,由于某种原因,该网站不是设置cookie,这是我的cookie代码:
$sql = "INSERT INTO mysql_table (timestamp,entry,uid,allowcomments) VALUES ('$timestamp','$entry','".rndTxt(16)."','$allowcommenting')";
$result = mysql_query($sql) or print ("Can't insert into table.<br />" . $sql . "<br />" . mysql_error());
if ($result != false) {
if(isset($_COOKIE['AnonPost']))
{
$hour = time() + 3600;
setcookie("AnonPost", "2", $hour);
}
else {
$hour = time() + 3600;
setcookie("AnonPost", "1", $hour);
}
print "<meta HTTP-EQUIV='REFRESH' content='0; url=index.php'>";
}
mysql_close();
Run Code Online (Sandbox Code Playgroud)
然后一个后来的if/else语句检查它是否存在,以及该值是什么(如果它不存在则会看到该网站正常,如果它存在,并且val = 1则它会显示一条消息,说明只有一个发布左侧,如果val = 2,他们会收到一条消息,说他们这小时已经没用了帖子.)
这适用于我的本地主机,但不在网站本身(http://aviatex14.co.uk/anonpost/)任何想法为什么?
除此之外,我知道这不是限制帖子的最佳方式,因此,任何人都可以帮我限制表单提交,或者告诉我我的cookie问题吗?
为了减少垃圾邮件,有很多方法
验证码系统.http://www.google.com/recaptcha
帐户创建期间确认电子邮件
邮寄期间的垃圾邮件识别.寻找垃圾关键字.
表格中的蜜罐字段.这使用CSS来隐藏每个表单上的蜜罐输入字段.如果请求到达填写了该字段的服务器,则您知道机器人提交了表单并且可以忽略该请求.
信誉系统就像堆栈交换一样.只有在建立了一定数量的产品后,您才允许用户执行某些操作.