Pull to refresh

CAPTCHA для Вашего сайта

Reading time2 min
Views17K
Сегодня я расскажу о том, как можно быстро и легко прикрутить проверку CAPTCHA на Ваш сайт.


Для тех, кто не в курсе, CAPTCHA это автоматизированный тест Тьюринга для различения компьютеров и людей. Подробнее о том, что такое CAPTCHA можно почитать на википедии.


В данном примере я воспользовался бесплатным сервисом recaptcha.net. Вам придется пройти регистрацию, чтобы работать с ним, ибо понадобятся Public и Private ключи.



Так работает reCAPTCHA API:


Я возьму пример кода реализации reCAPTCHA написанном для ASP.NET, но можно найти его практически для всех языков здесь.

Для того, чтобы начать работать:


  1. Надо скачать библиотеку reCAPTCHA.
  2. Добавить Recaptcha.dll в директорию /bin/ Вашего сайта.
  3. Вставить следующий reCAPTCHA control в страницу где Вы хотите реализовать проверку:


<%@ Register TagPrefix=«recaptcha» Namespace=«Recaptcha» Assembly=«Recaptcha» %>

<recaptcha:RecaptchaControl
 ID=«recaptcha»
 runat=«server»
 PublicKey=«1234567890»      
 PrivateKey=«0987654321» />



* Где PublicKey иPrivateKey это ключи, которые Вы получили при регистрации.

Все, что Вам осталось, это проверить property Page.IsValid в коде.

Например, вот так:

<%@ Page Language=«VB» %>
<%@ Register TagPrefix=«recaptcha» Namespace=«Recaptcha» Assembly=«Recaptcha» %>
<script runat=server>
 Sub btnSubmit_Click(ByVal sender As Object, ByVal e As EventArgs)
  If Page.IsValid Then
   lblResult.Text = «You Got It!»
   lblResult.ForeColor = Drawing.Color.Green
  Else
   lblResult.Text = «Incorrect»
   lblResult.ForeColor = Drawing.Color.Red
  End If
 End Sub
</script>
<html>
<body>
 <form runat=«server»>
  <asp:Label Visible=false ID=«lblResult» runat=«server» />
 
  <recaptcha:RecaptchaControl
   ID=«recaptcha»
   runat=«server»
   PublicKey=«1234567890»   
   PrivateKey=«0987654321»
   />
  <br />
  <asp:Button ID=«btnSubmit» runat=«server» Text=«Submit» OnClick=«btnSubmit_Click» />
 </form>
</body>
</html>
* This source code was highlighted with Source Code Highlighter.


И это все.
P.S.
Если Вы когда-то разрабатывали свой модуль Captcha, буду рад, если поделитесь своим вареантом реализации.

* Оригинальная запись была опубликована в моем блоге.
Tags:
Hubs:
Total votes 26: ↑14 and ↓12+2
Comments23

Articles