Eu implementei meu reCAPTCHA em linha com o que é mostrado no exemplo.
Eu tenho este script na tag head
:
<script src="https://www.google.com/recaptcha/api.js"></script>
No meu form
em HTML eu tenho:
<div class="g-recaptcha" data-sitekey="my public sitekey here"></div>
Mas quando carrego a "forma", recebo este erro:
ERROR: Domínio inválido para chave do site
Eu confirmei que esta é a chave do site correta para o meu domínio.
O código está atualmente em um subdomínio, então eu pensei que talvez fosse esse o problema, então eu também adicionei o subdomínio ao administrador do Google reCAPTCHA, mas ainda recebo o erro.
O mesmo código funciona 100% em um domínio diferente (com uma chave específica para esse domínio).
Qual poderia ser o problema?
No caso de alguém ter um problema semelhante. A minha resolução foi apagar a chave que não estava a funcionar e obter uma nova chave para o meu domínio. E isto agora funciona também com todos os meus sub-domínios sem ter de os especificar explicitamente na área de administração recaptcha.
Eu estava usando o localhost durante o teste da unidade quando minha chave recaptcha foi registrada para 127,0,0,0,1. Então eu mudei meu navegador para apontar para 127.0.0.1 e ele começou a funcionar. Embora eu fosse capaz de adicionar "localhost" à lista de domínios nas minhas Configurações de Chave ReCaptcha, eu ainda não consigo testar unidades usando localhost. Tenho que usar o endereço IP do loopback 127.0.0.1.
Há outro ponto que deve ser observado antes de regenerar as chaves que resolvem 90% da questão.
por exemplo, seu diretório xampp é C:\xampp
e a pasta htdocs é C:\xampphtdocs
queremos abrir uma página chamada: exemplo-cap.html e página está mostrando erro "domínio inválido para chave do site"
USE O SEU ENDEREÇO LOCALHOST no endereço do navegador como:
localhost/example-cap.html
isto vai resolver o seu problema
ENDEREÇO DE NÃO UTILIZAR c:\xampphtdocs\example-cap.html isto irá gerar erro