티스토리 뷰

서비스 가입 및 메뉴얼 http://code.google.com/intl/ko-KR/apis/recaptcha/

 

reCaptcha.lib.asp

<%
recaptcha_public_key       = "" ' your public key
recaptcha_private_key      = "" ' your private key

recaptcha_challenge_field  = Request("recaptcha_challenge_field")
recaptcha_response_field   = Request("recaptcha_response_field")

' returns the HTML for the widget
function recaptcha_challenge_writer()
	recaptcha_challenge_writer = _
	"" & _
	"" & _
	""
end function

' returns "" if correct, otherwise it returns the error response
function recaptcha_confirm(rechallenge,reresponse)
	Dim VarString
	VarString = _
		  "privatekey=" & recaptcha_private_key & _
		  "&remoteip=" & Request.ServerVariables("REMOTE_ADDR") & _
		  "&challenge=" & rechallenge & _
		  "&response=" & reresponse

	Dim objXmlHttp
	Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
	objXmlHttp.open "POST", "http://www.google.com/recaptcha/api/verify", False
	objXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
	objXmlHttp.send VarString

	Dim ResponseString
	ResponseString = split(objXmlHttp.responseText, vblf)
	Set objXmlHttp = Nothing

	if ResponseString(0) = "true" then
		'They answered correctly
		 recaptcha_confirm = ""
	else
		'They answered incorrectly
		 recaptcha_confirm = ResponseString(1)
	end if
end function

server_response = ""
newCaptcha = True
'// recaptcha 사용자 입력값 있으면 검사
if (recaptcha_challenge_field <> "" Or recaptcha_response_field <> "") then
	server_response = recaptcha_confirm(recaptcha_challenge_field, recaptcha_response_field)
	newCaptcha = False
end if

%>

form.asp



<%=recaptcha_challenge_writer()%>

update.asp


<%
'// reCaptcha 사용중인데 입력이 없다면
If newCaptcha Then
	Response.Write("<script> alert('인증코드를 입력해주세요.'); history.go(-1); </script>")
	Response.End
End If
'// reCaptcha 오류 응답이 있다면
If server_response <> "" Then
	Response.Write("<script> alert('인증코드가 틀렸습니다. 다시 입력해주세요.'); history.go(-1); </script>")
	Response.End
End If

%>
Correct!

댓글