2016-07-29 3 views
1

Google ReCaptcha를 사용하고 싶지만 서버 측 또는 백엔드 코드를 터치하고 싶지 않습니다.Google ReCaptcha 프런트 엔드 솔루션

ASP.Net MVC를 사용하고 있지만 Nuget 또는 라이브러리의 패키지를 사용하고 싶지 않습니다. 솔루션은 프런트 엔드 전용이어야합니다. 모든 javascript/jquery 솔루션이 허용됩니다.

또한 내 양식은 데이터를 수집하여 지정된 사서함에 전자 메일로 보내고 있습니다. 이 과정에서 타사 라이브러리도 사용하지 않습니다. ASP.Net MVC에서만 수동으로 코딩됩니다.

+1

자바 스크립트, grecaptcha.getResponse() –

+2

Google의 Recaptcha와 같은 솔루션의 중요한 부분은 서버 측과의 통신입니다. 이것은 프론트 엔드 코드를 쉽게 읽을 수 있고, 금이 가거나 심지어 완전히 대체 될 수 있기 때문입니다. 'captcha_challenge()'가 있다고 가정 해 봅시다. 사용자가 captcha를 해결할 경우 true를 반환합니다. 이제 소스로 가서 함수를'function captcha_challenge() {return true; }'. 버튼을 다시 클릭하면 나옵니다. 프론트 엔드에서만 보안 문자 또는 비밀번호 암호화와 같은 것을 구현할 필요가 없습니다. 안전하게 작동하려면 백엔드가 필요합니다. –

답변

0

자세한 설명은 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> 

나는이 쉽게 우회가 아닌 실제 솔루션을하지만이 작동 될 수 있다는 것을 알고 있습니다. 나는 이것을 더 좋게 만들 수있는 아이디어에 열려 있습니다.

0

CMS를 사용하지 않는 한 reCAPTCHA로 POST 요청을하기 때문에 백엔드에 일부 코드를 넣어야합니다.

플러그인을 다운로드 한 다음 키를 복사하여 붙여 넣기 만하면됩니다.