使用PHP将简单的HTML表单转换为SQL DB,被机器人锤击


Simple HTML form into SQL DB using PHP, getting hammered by bots

我有一个非常简单的HTML表单,用于预先注册我的车展。不幸的是,它引起了垃圾邮件发送者的注意,因为有一个"地址"字段,他们用它来注入垃圾邮件的url。

我添加了javascript表单验证,它说,如果地址字段包含任何斜杠(如"http://"),那么它弹出一个框告诉垃圾邮件发送者离开。

我已经添加了htaccess,我认为应该阻止用户能够点击PHP文件,该文件用于在没有来自我的域的情况下将表单提交到DB。

我有验证码,但他们也能绕过它,所以我删除了它,因为它不起作用。

我知道一个缺陷是,我可以直接浏览到我的PHP文件,它会插入一个空白行到数据库-我怎么能防止这种情况?

有没有人有一个好的网站或步骤来阻止这些机器人击中我的表单?

ReCaptcha,如果配置良好,应该已经解决了您的问题。没有简单的方法可以"绕过它"。

我已经添加了htaccess,我认为应该阻止用户能够点击用于提交表单的PHP文件

那可能是你的问题。机器人只是用正确的参数调用注册页面的问题。解决这个问题的一种方法是在表单上显示一个隐藏的输入字段,用一些随机值填充它,并检查在提交表单时是否得到相同的值。

但是再次验证码应该工作…如果没有,你应该问一个具体的问题

首先,验证从Form发送的数据,检查它们是否有效,而不是空的。等。如果您使用的框架有验证类(使用它),否则创建一些,

第二,放回验证码,如果无效,不要向服务器发送任何数据