在不使用验证码的情况下阻止垃圾评论

在不使用验证码的情况下阻止垃圾评论

在我的评论中阻止垃圾邮件的一些非验证码方法是什么?



开心每一天1111
浏览 373回答 3
3回答

阿波罗的战车

1)将与会话相关的信息添加到表单中示例:<input&nbsp;type="hidden"&nbsp;name="sh"&nbsp;value="<?php&nbsp;echo&nbsp;dechex(crc32(session_id()));&nbsp;?>"&nbsp;/>然后在回发时,检查会话是否有效。2)仅限Javascript。在提交时使用Javascript注入。例:<input&nbsp;type="hidden"&nbsp;id="txtKey"&nbsp;name="key"&nbsp;value=""&nbsp;/><input&nbsp;type="submit"&nbsp;value="Go"&nbsp;onclick="document.getElementById('txtKey').value&nbsp;=&nbsp;'<?php&nbsp;echo&nbsp;dechex(crc32(session_id()))&nbsp;?>';"&nbsp;/>3)每个IP,用户或会话的时间限制。这很简单。4)随机化字段名称:<?php &nbsp;&nbsp;&nbsp;$fieldkey&nbsp;=&nbsp;dechex(crc32(mt_rand().dechex(crc32(time())))); &nbsp;&nbsp;&nbsp;$_SESSION['fieldkey']&nbsp;=&nbsp;$fieldkey;?><input&nbsp;type="text"&nbsp;name="name<?php&nbsp;echo&nbsp;$fieldkey;&nbsp;?>"&nbsp;value=""&nbsp;/> <input&nbsp;type="text"&nbsp;name="address<?php&nbsp;echo&nbsp;$fieldkey;&nbsp;?>"&nbsp;value=""&nbsp;/>然后你可以在服务器端检查它。

达令说

这是在不使用验证码的情况下阻止垃圾邮件机器人或暴力攻击的简单技巧。把它放在你的表格中:<input&nbsp;type="hidden"&nbsp;name="hash"&nbsp;value="<?php&nbsp;echo&nbsp;md5($secret_key.time()).','.time();&nbsp;?>"&nbsp;/>把它放在你的PHP代码中$human_typing_time&nbsp;=&nbsp;5;/**&nbsp;page&nbsp;load&nbsp;(1s)&nbsp;+&nbsp;submit&nbsp;(1s)&nbsp;+&nbsp;typing&nbsp;time&nbsp;(3s)&nbsp;*/$vars&nbsp;=&nbsp;explode(',',&nbsp;$_POST['hash']);if(md5($secret_key.$vars[1])&nbsp;!=&nbsp;$vars[0]&nbsp;||&nbsp;time()&nbsp;<&nbsp;$var[1]&nbsp;+&nbsp;$human_typing_time){ &nbsp;&nbsp;&nbsp;&nbsp;//bot? &nbsp;&nbsp;&nbsp;&nbsp;exit();}根据表格的重量,您可以增加或减少$ human_typing_time。
打开App,查看更多内容
随时随地看视频慕课网APP