reCAPTCHA 的 CORS
CORS for reCAPTCHA
我正在开发一个网站,我想在其中包含 Google 的 reCAPTCHA。
如果我将以下 <script>
标签添加到我的 <head>
:
<script crossorigin="anonymous" src='https://www.google.com/recaptcha/api.js'>
</script>
我收到以下错误:
Access to Script at 'https://www.google.com/recaptcha/api.js' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access.
好的,很好,很公平。在本地主机上工作时,我总是可以在 Chrome 上禁用 CORS。但是域名是www.google.com。我不太愿意向 google 的根域上的任何内容发送 access-control-allow-origin header - 这感觉就像一个安全漏洞,你可以让公共汽车通过。
如何通过合理的生产设置来解决这里的跨源问题?
删除 crossorigin="anonymous"
。
您的页面只需要 运行 脚本。它无需请求提升权限,因此您的 JS 可以访问有关它的更多信息。如果它抛出一个错误,那么您将无法访问 Google 的服务器以更正它。
我正在开发一个网站,我想在其中包含 Google 的 reCAPTCHA。
如果我将以下 <script>
标签添加到我的 <head>
:
<script crossorigin="anonymous" src='https://www.google.com/recaptcha/api.js'>
</script>
我收到以下错误:
Access to Script at 'https://www.google.com/recaptcha/api.js' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access.
好的,很好,很公平。在本地主机上工作时,我总是可以在 Chrome 上禁用 CORS。但是域名是www.google.com。我不太愿意向 google 的根域上的任何内容发送 access-control-allow-origin header - 这感觉就像一个安全漏洞,你可以让公共汽车通过。
如何通过合理的生产设置来解决这里的跨源问题?
删除 crossorigin="anonymous"
。
您的页面只需要 运行 脚本。它无需请求提升权限,因此您的 JS 可以访问有关它的更多信息。如果它抛出一个错误,那么您将无法访问 Google 的服务器以更正它。