Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.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
Javascript 使用PHP将简单的HTML表单转换为SQL DB,受到机器人程序的攻击_Javascript_Php_Html_Forms_.htaccess - Fatal编程技术网

Javascript 使用PHP将简单的HTML表单转换为SQL DB,受到机器人程序的攻击

Javascript 使用PHP将简单的HTML表单转换为SQL DB,受到机器人程序的攻击,javascript,php,html,forms,.htaccess,Javascript,Php,Html,Forms,.htaccess,我有一个非常简单的HTML表单,用于预先注册车展。不幸的是,它已经引起了垃圾邮件发送者的注意,因为有一个“地址”字段,他们使用该字段将垃圾邮件URL注入其中 我添加了javascript表单验证,它表示如果地址字段包含任何斜杠(如“http://”),则会弹出一个框,告诉垃圾邮件发送者走开 我添加了htaccess,我认为它可以阻止用户在不首先来自我的域的情况下点击用于将表单提交到DB中的PHP文件 我有recaptcha,但他们也能解决这个问题,所以我把它删除了,因为它没有效果 我知道一个缺陷

我有一个非常简单的HTML表单,用于预先注册车展。不幸的是,它已经引起了垃圾邮件发送者的注意,因为有一个“地址”字段,他们使用该字段将垃圾邮件URL注入其中

我添加了javascript表单验证,它表示如果地址字段包含任何斜杠(如“http://”),则会弹出一个框,告诉垃圾邮件发送者走开

我添加了htaccess,我认为它可以阻止用户在不首先来自我的域的情况下点击用于将表单提交到DB中的PHP文件

我有recaptcha,但他们也能解决这个问题,所以我把它删除了,因为它没有效果

我知道一个缺陷是,我可以直接浏览到我的PHP文件,它会在数据库中插入一个空行-我如何防止这种情况发生


是否有人有一个好的站点或步骤来阻止这些机器人攻击我的表单?

如果配置得当,ReCaptcha应该可以解决您的问题。没有简单的方法可以“绕过它”

我添加了htaccess,我认为它应该阻止用户访问 能够点击PHP文件,该文件用于将表单提交到 数据库没有首先从我的域来

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


但再次重申,雷帕查应该有效。。。如果没有,你应该问一个具体的问题。

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


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

ReCaptcha可在此处找到:一个简单的表单验证:$sample=filter\u var($\u POST['sample'],filter\u SANITIZE\u STRING);将删除危险数据。除了其他人所说的,您永远不应该依赖javascript表单验证之外,还应该在服务器端级别进行验证