Google reCAPTCHA ERROR para o proprietário do site: chave do site inválida
Não consigo fazer o reCAPTCHA v3 funcionar no meu site. Coloquei o código correto no site do Google reCAPTCHA v3, mas ele mostra "ERROR for site owner: Invalid site key" no canto inferior direito.
Eu tenho apenas 7 anos e se eu perdi alguma coisa, por favor, vá com calma
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Recaptcha test</title>
<script src="https://www.google.com/recaptcha/api.js"></script>
<script>
function onSubmit(token) {
document.getElementById("demo-form").submit();
}
</script>
<script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>
<body>
<button class="g-recaptcha"
data-sitekey="reCAPTCHA_site_key"
data-callback='onSubmit'
data-action='submit'>Submit</button>
<script>
function onClick(e) {
e.preventDefault();
grecaptcha.ready(function() {
grecaptcha.execute('reCAPTCHA_site_key', {action: 'submit'}).then(function(token) {
// Add your logic to submit to your backend server here.
});
});
}
</script>
</head>
</body>
</html>
Então, eu tentei reCAPTCHA v2 Checkbox, as mesmas coisas aconteceram. Embora, "ERRO para proprietário do site: chave do site inválida" estivesse agora no canto superior esquerdo:
<!DOCTYPE html>?
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Recaptcha test</title>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit"
async defer>
</script>
<body>
<form action="?" method="POST">
<div class="g-recaptcha" data-sitekey="your_site_key"></div>
<br/>
<input type="submit" value="Submit">
</form>
<script type="text/javascript">
var onloadCallback = function() {
alert("grecaptcha is ready!");
};
</script>
</head>
</body>
</html>
Respostas
Eu tentei seu código de reCAPTCHA v3 que você mencionou.
reCAPTCHA_site_key está em três lugares, verifique se você o substituiu pela chave do site correta no título:
"COPY SITE KEY"
.O motivo pelo qual está mostrando "ERROR for site owner: Invalid site key" é que você pode estar tentando o sistema de arquivos acessar a chave. Não funciona em sistemas de arquivos, ou seja, isso não funcionará:
file:///E:/Personal%20Data/stackoverflow/recapcha.html
Hospede seu site em um servidor local como IIS/Node etc, e adicione o mesmo domínio nas configurações de domínio do recaptcha.
for example if your website is: https://www.testingrecapcha.com/ then add testingrecapcha.com in domains of rechapcha configurations. (to reach admin console of recapcha, use this: https://www.google.com/recaptcha/admin and select your relevant site and click on settings icon).