如何停止直接将HTTP POST发送到PHP脚本?

时间:2013-02-27 作者:Anand Shah

我在我的网站上有一个表单,使用带有Captcha的联系人表单7创建。表单的内容在发布时发送到PHP脚本,表单的“action”属性设置为themes/<themename>/<filename>.php

我们收到了很多垃圾邮件,似乎有人可以手工制作表单并使用它发送垃圾邮件。在处理脚本中,我检查HTTP_REFERRER, HTTP_SERVER 查看请求是否通过我们的网站传入,但也可以在中手动创建这些标题。我需要采取哪些步骤来阻止垃圾邮件的传入?

感谢您的帮助。

EDIT : 更清晰一些。CF7将表单数据发布到我的脚本http://www.example.com/wp-content/themes/themename/script.php , 该脚本是可访问的。有人可以转到我的表单所在的页面,复制HTML,在本地计算机上重新创建表单,然后开始将表单提交到我的脚本。我该怎么阻止呢?

3 个回复
最合适的回答,由SO网友:RRikesh 整理而成

您必须使用wpcf7_before_send_mail 并将PHP代码添加到函数中。php(因为脚本已经在您的主题文件夹中)?你不会失去CF7的任何能力。

function wpse_process_form( &WPCF7Object ){
  #process your form here
}

add_action(\'wpcf7_before_send_mail\', \'wpse_process_form\' );

SO网友:Mark Kaplun

如果您正在寻找一种在不阻止合法用户的情况下检测垃圾邮件的解决方案,那么请使用akismet。如果不检查内容本身,根本没有可靠的技术方法来检测垃圾邮件。智能垃圾邮件发送者甚至会在发送表单之前加载您的页面。

唯一可行的技术解决方案是阻止IP范围,前提是您可以识别出从中获取大部分垃圾邮件的IP。您还可以尝试通过使用阻止已知的“坏”IPproject honeypot.

SO网友:Prasad Ajinkya

就连我也面临着这个问题。这就是我最终所做的。

更改后处理脚本的文件名

结束

相关推荐

Spam in Wordpress root folder

两个问题合一。最近在Wordpress安装(域安装)的根目录中引入了一个php文件。它没有干扰我的网站,但显然是在使用域名传播广告。1) 如何将文件粘贴到我的根目录中?如何阻止这种情况再次发生?2) 该文件包含的内容非常准确this code.谢谢