我已在recaptcha.net上使用mydomain.com注册了一个帐户。
当我在我的localhost
上进行开发时,它工作正常,但每当我尝试从本地网络中的另一台计算机打开该页面时,它会显示"input error: invalid referer"
错误消息!
我没有使用recaptcha插件。
答案 0 :(得分:28)
reCaptcha密钥绑定到某个域+ localhost(当你从他们那里获得私钥/公钥时)。您可以通过请求新的私钥/公钥或使用全局密钥在其他域上使用它。
来自website:
默认情况下,您的reCAPTCHA密钥仅限于指定的域,以及任何子域以获得额外的安全性。 foo.com的密钥适用于test.foo.com。
如果您希望在大量域中使用密钥(例如,如果您是托管服务提供商,OEM等),请选择全局密钥选项。您可能想使用描述性域名,例如“global-key.mycompany.com”
如果您拥有多个域名(foocars.com和footrucks.com),则可以注册多个密钥,或使用全局密钥。
答案 1 :(得分:3)
Google似乎已删除了reCaptcha的全局密钥,因为您可以看到here。
在您的localhost中,它可以正常工作,因为您使用的是提供给域的密钥。但是当您将代码上传到生产服务器时,似乎您使用相同的密钥到多个域(即使localhost可能不被视为域)。所以你得到了那个错误。我修复了为我的另一个域创建新密钥并将它们添加到我的localhost脚本。对于生产脚本,我保留了该域的密钥。
答案 2 :(得分:1)
我有同样的问题,我解决了从recaptcha admin screen添加我的服务器ip地址;
点击标题Your reCAPTCHA sites
下列出的域名,然后在Key Settings -> Domain
添加您的IP,以解决问题。
答案 3 :(得分:0)
正如安德烈之前提到的那样 - 全局密钥已被删除以用于reCaptcha。但您可以使用secure token您将找到my solution for PHP here