提交邮件表单时出现PHP“错误的引荐来源”错误

时间:2008-11-05 17:29:07

标签: php formmail

我对php很新,但我正在学习!我在客户端网站上有一个简单的表单。我正在测试表单,当我点击提交时,我收到以下错误:

表单邮件脚本

Wrong referrer (referring site). For security reasons the form can only be used, if the referring page is part of this website.

Note for the Admin: Please add the name of your server to the referrer variable in the index.php configuration file: mywebsite.com

由表单邮件脚本提供支持

我正在查看表单配置和支持文件,但我不明白我需要更改的内容。

有人可以向我解释上面的管理员说明是什么意思以及如何解决它?

感谢。

4 个答案:

答案 0 :(得分:2)

您显然正在使用页面上的表单邮件脚本。它具有安全功能,可防止其他域提交到表单。这样做是为了防止机器人使用脚本发送垃圾邮件。

在表单邮件脚本的配置中或在脚本本身中,您将找到列出引用的数组或变量。这是您要允许调用此表单邮件的站点。您应该将自己的域添加到此列表中,或将其分配给此变量。

抱歉,我没有使用过这个脚本,所以我不能更具体。

答案 1 :(得分:2)

您要更改的行是:

$referring_server = 'http://www.mywebsite.com, scripts';

将其更改为类似的内容可能会有效:

$referring_server = 'yourdomain.com';

答案 2 :(得分:0)

快速搜索您看到的错误,我找到了这个链接: http://www.stadtaus.com/forum/t-3528.html

在这种情况下,我不确定这是否对您有所帮助,因为我不熟悉您正在使用的工具,但它似乎很合适。

答案 3 :(得分:0)

引荐来源是一个通常由客户端(您的浏览器)发送到服务器的值以及请求。它指示从中链接或提交所请求资源的URL。此错误是FormMail中安全机制的一部分,旨在防止脚本处理不是来自您网站的输入。

例如,假设您的表单位于 http://www.foo.com/form.html ,而您的脚本位于 http://www.foo.com/script.php 。如果脚本没有检查引荐来源值,我可以在我的网站 http://www.bar.com/myform.html 上创建一个表单并将其提交给您的脚本。发送邮件的脚本经常以这种方式被滥用来发送垃圾邮件。

要解决您的问题,请在脚本的配置文件中找到该参数,该参数指示您的脚本应处理输入的引荐来源,并将其更改为包含您的域或您网页的特定网址。

请注意,引用者通常拼错为REFERER,在HTTP协议的上下文中只有一个“R”。