자세한 설명은 Ivo Coumans에게 감사드립니다. 나는 그것을 작동 시키지만 obvously 그것은 안전하지 않다. 린토 안토니 (Rinto Antony)는 나에게 내가하는 일을 생각 나게했다.
나는 내 웹 사이트의 섹션을 머리에 구글 reCAPTCHA를 API를 호출하고 보안 문자 작성 DIV 추가 오전 :
<div class="g-recaptcha" data-sitekey="api_key" data-callback="enableBtn"></div>
데이터 콜백 enableBtn 기능을 트리거되어 있기 때문에, 그것을 경우 조치를 취할 수를 사실을 반환합니다. 그래서 내 양식에 비활성화 된 제출 버튼을 추가했습니다.
<input type="submit" value="Gönder" id="button1" disabled>
그런 다음 나는 그것을 가능하게하는 간단한 자바 스크립트를 추가했습니다 :
<script type="text/javascript">
function enableBtn() {
document.getElementById("button1").disabled = false;
}
</script>
나는이 쉽게 우회가 아닌 실제 솔루션을하지만이 작동 될 수 있다는 것을 알고 있습니다. 나는 이것을 더 좋게 만들 수있는 아이디어에 열려 있습니다.
자바 스크립트, grecaptcha.getResponse() –
Google의 Recaptcha와 같은 솔루션의 중요한 부분은 서버 측과의 통신입니다. 이것은 프론트 엔드 코드를 쉽게 읽을 수 있고, 금이 가거나 심지어 완전히 대체 될 수 있기 때문입니다. 'captcha_challenge()'가 있다고 가정 해 봅시다. 사용자가 captcha를 해결할 경우 true를 반환합니다. 이제 소스로 가서 함수를'function captcha_challenge() {return true; }'. 버튼을 다시 클릭하면 나옵니다. 프론트 엔드에서만 보안 문자 또는 비밀번호 암호화와 같은 것을 구현할 필요가 없습니다. 안전하게 작동하려면 백엔드가 필요합니다. –