javascript - 使 google Recaptcha 使用域名中的特殊字符

标签 javascript cross-domain recaptcha

我正在为域名 ( http://sälja.io ) 中带有瑞典字符 ä 的站点设置 API key ,但它没有初始化 recaptcha。

然后为等效的 url 尝试一个 api key http://xn--slja-loa.iohttp://xn--slja-loa.io 到达网站时有效但不是http://sälja.io .

然后我找到了应该适用于所有域的安全 token 。它在所有域 上初始化了 recaptchas,并且还在所有测试的域上工作,除了带有 ä 的域https://developers.google.com/recaptcha/docs/secure_token

有什么方法可以让它在域名中也使用 ä 吗?

编辑

因为 http://xn--slja-loa.io 的 api key 从 http://sälja.io 访问网站时正在 android 上工作,这可能是浏览器解释域的方式。例如。 firefox 解释http://sälja.io作为域 http://sälja.io并且无法从不允许在域名中使用 ä 的谷歌服务器获得响应。 Android 解释 http://sälja.io作为http://xn--slja-loa.io并且会得到响应,因为它不包含 ä。对此有什么想法吗?有没有办法强制浏览器解释 http://sälja.io作为http://xn--slja-loa.io

编辑2

代码示例可以在 sälja.io/test、178.62.187.163/test 和 xn--slja-loa.io/test 上找到

编辑3

截至今天(2015 年 11 月 25 日),似乎无法在域名中使用带有 ä 等特殊字符的 recaptcha。由于 aishwat singh 在赏金时间内为得出此结论提供了最多帮助,因此他将获得奖励,但是当可以为该问题提供解决方案时,答案将被接受。

最佳答案

我刚才试过了,我能够为 example-ä.se 生成 key 6Ld8VRETAAAAALRXFNxmjEeVzbg2y5vdWv7THwJz

将很快发布一个完整的工作示例


编辑 1

这是 git repo用于在 heroku 上运行的代码和相同的代码

好的,这不是一个完整的修复,因为我使用 herokuapp.com 作为域,所以 example-ä.herokuapp.com 成为一个子域并且可以工作

(然而,当我早些时候尝试时,它也为 example-ä.se 创建了一个 key ,但是在验证码的加载页面上它给出了 invalid domain,发现这是原始的问题,我认为您无法为该域生成 key )

将尝试完全修复


编辑 2

顺便说一句,你也可以指定你的域 ip,检查这个 discussion

对我来说,heroku 免费账户不提供域的 ip,所以我很难测试它

我也在读这个thread

弄清楚如果我将域列表指定为 com 它会接受。在您的情况下,只需将 se 指定为域,它应该可以工作,谷歌不会检查确切的 url,它只会检查域

domain description

希望它有所帮助,也会研究stoken方法

关于javascript - 使 google Recaptcha 使用域名中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33723870/

相关文章:

javascript 函数作为参数 - 非法调用。为什么?

javascript - 谷歌图表 vAxis 用各自的浅色背景勾选多种颜色

javascript - 即使未选中,复选框也会返回 true

javascript - 如何在谷歌验证码中提供所需信息

python - 当我尝试通过 recapcha 验证我的信息时,为什么会出现此值错误?

循环内的 JavaScript 闭包——简单实用的例子

php - 事件目录下具有基于信任的身份验证的 JavaScript 小部件

javascript - 如何使用 node.js 将请求发送到附加音频文件的另一个域?

javascript - 两个窗口或选项卡之间的跨文档消息传递,而不是 IFrame

javascript - 动态加载 reCAPTCHA