现在我从我的联系表单中收到太多垃圾邮件,下面是它的html视图,
<form id="contactForm" action="processform.php" method="post" class="positioned" style="display: inline;">
<ul>
<li>
<label id="textname">Name :</label>
<input type="text" name="senderName" id="senderName" placeholder="Type your name" required="required" maxlength="200">
</li>
<li>
<label id="textemail">Email :</label>
<input type="text" name="senderEmail" id="senderEmail" placeholder="Type your email" required="required" maxlength="200">
</li>
<li>
<label id="textmessage" for="senderfeedback">Feedback :</label>
<input type="textarea" name="senderfeedback" id="senderfeedback" placeholder="Type your Message here" required="required">
</li>
<li>
<label></label>
<input type="submit" id="sendMessage" name="sendMessage" class="button" value="Submit">
</li>
</ul>
</form>
我认为一些自动机器人正在访问我的processform.php文件。有没有办法阻止这个?
答案 0 :(得分:1)
一种简单的方法就是这样。
提出一个简单的数学问题,如5+3 = ?
(每次随机生成)并检查输入的答案是否正确。
答案 1 :(得分:0)
在表单中,执行
session_start();
$num1=rand(1, 5);
$num2=rand(1, 5);
$_SESSION['num1']=$num1;
$_SESSION['num2']=$num2;
echo "<li><label>What is ".(string)($num1)."+".(string)($num2)."?</label><input type='text' id='sum' name='sum'></input></li>
在您的processform.php中,读出$_POST['sum']
的值并检查是否等于一起添加的会话变量。然后才处理请求。
如果您在代码中发现错误,可以保留它们;)