Cómo Usar BotDetect ASP.NET CAPTCHA sin Visual Studio

Esta guía muestra como usar BotDetect ASP.NET CAPTCHA en un nuevo proyecto de ASP.NET 2.0 sin utilizar Visual Studio.

Prerequisitos

  • IIS 5.0+
  • .NET Framework 2.0
  • BotDetect 2.0.x para ASP.NET 2.0

Paso 1. Crear un nuevo Sitio Web ASP.NET

  • Crear una nueva carpeta para el sitio web (usaremos el BotDetectSample en estas instrucciones)

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 1

  • Crear un nuevo archivo llamado Default.aspx en la carpeta del sitio web, con el siguiente contenido:
    <%@ Page Language="C#" AutoEventWireup="true" 
      CodeFile="Default.aspx.cs" Inherits="_Default" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 
      Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/
        xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head id="Head1" runat="server">
        <title>BotDetect Demo</title>
    </head>
    <body>
      <form id="form1" runat="server">
        <div id="PromptDiv">
          <span id="Prompt">Type the characters you see in 
            the picture</span>
        </div>
      </form>
    </body>
    </html>

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 2

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 3

  • Crear un nuevo archivo llamado Default.aspx.cs en la carpeta del sitio web, con el siguiente contenido:
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    
    public partial class _Default : System.Web.UI.Page 
    {
    
    }
    	

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 4

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 5

  • Clic-derecho en la carpeta y abrir sus propiedades...

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 6

  • ...clic en "Share this folder"(Compartir esta carpeta) en la pestaña "Web Sharing"...

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 7

  • ...luego hacer click "OK".

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 8

  • Abra "Administrative Tools"(Herramientas Administrativas) en Control Panel (Panel de Control)...

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 9

  • ... escoja "Internet Information Services"... (Servicios de Información de Internet)

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 10

  • ...seleccione la recientemente creada carpeta de sitio web virtual en la vista de árbol de Sitios Web...

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 11

  • ...click-derecho en la carpeta y abra sus propiedades...

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 12

  • ...hacer click en "Edit"(Editar) que está en la pestaña "Directory Security"(Seguridad del Directorio)...

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 13

  • ...tache el cuadro verificador "Anonymous access"(Acceso anónimo) y luego haga click en "OK"...

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 14

  • ...cambie a la pestaña "ASP.NET" y asegúrese de que la versión correcta del tiempo de ejecución es seleccionada (2.0.50727); haga click en "Apply" para cambiarla si es necesario...

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 15

  • ...cierre el díalogo de Propiedades, click-derecho en el archivo Default.aspx en la vista de carpetas, y seleccione "Browse"... (Buscar)

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 16

  • ... y si todo está configurado correctamente, debería ver la página en su navegador

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 17

Paso 2. Configure su sitio para utilizar BotDetect CAPTCHA

  • Cree una nueva sub carpeta llamada Bin en la carpeta del sitio web

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 18

  • Navegue hasta el archivo Lanap.BotDetect.dll que se encuentra en la carpeta de la instalación de BotDetect CAPTCHA

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 19

  • Copiélo a la carpeta Bin del proyecto

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 20

  • Cree un nuevo archivo llamado Web.config en la carpeta del sitio web, con el siguiente contenido:
    <?xml version="1.0"?>
    <configuration>
      <appSettings/>
      <connectionStrings/>
      <system.web>
        <httpHandlers>
          <add verb="*" path="LanapCaptcha.aspx" 
            type="Lanap.BotDetect.CaptchaHandler, 
            Lanap.BotDetect"/>
        </httpHandlers>
    		
        <sessionState mode="InProc" cookieless="AutoDetect" 
          timeout="20" sessionIDManagerType="
            Lanap.BotDetect.Persistence.CustomSessionIDManager, 
            Lanap.BotDetect" />
        
        <!-- 
        Set compilation debug="true" to insert debugging 
        symbols into the compiled page. Because this 
        affects performance, set this value to true only 
        during development.
        -->
        <compilation debug="false">
          <assemblies>
           <add assembly="System.Design, Version=2.0.0.0, 
             Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
          </assemblies>
        </compilation>
        
        <!--
        The <authentication> section enables configuration 
        of the security authentication mode used by 
        ASP.NET to identify an incoming user. 
        -->
        <authentication mode="None"/>
      </system.web>
    	
      <system.webServer>
        <validation validateIntegratedModeConfiguration="false"/>
        <handlers>
          <remove name="LanapCaptchaHandler" />
          <add name="LanapCaptchaHandler" 
            preCondition="integratedMode" verb="*" 
            path="LanapCaptcha.aspx" 
            type="Lanap.BotDetect.CaptchaHandler, Lanap.BotDetect" />
        </handlers>
      </system.webServer>
    	
    </configuration>

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 21

Paso 3. Agregue un control BotDetect CAPTCHA a la página

  • Agregue la siguiente línea al comienzo del archivo Default.aspx, justo debajo de la directiva <%@Page %>:
    <%@ Register Assembly="Lanap.BotDetect" 
      Namespace="Lanap.BotDetect" TagPrefix="BotDetect" %>
  • En el mismo archivo, agregue el siguiente fragmento de código al formulario:
    <div id="CaptchaDiv">
      <BotDetect:Captcha ID="SampleCaptcha" runat="server" />
    </div>

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 22

  • Guarde todos los cambios, y actualice la página en el navegador. Verá una imagen CAPTCHA renderizada en su formulario web.

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 23

Paso 4. Agregue la lógica de validación de entrada

  • En el archivo Default.aspx, agregue el siguiente fragmento de código al formulario:
    <div id="ValidationDiv">
      <asp:TextBox ID="CodeTextBox" runat="server">
      </asp:TextBox>
      <asp:Button ID="ValidateButton" runat="server" 
        Text="Validate" />
      <asp:Label ID="MessageCorrectLabel" runat="server">
      </asp:Label>
      <asp:Label ID="MessageIncorrectLabel" runat="server">
      </asp:Label>
    </div>
  • En el archivo Default.aspx.cs, agregue el siguiente fragmento de código a la definición de clase:
    protected void Page_PreRender(object sender, EventArgs e)
    {
      /// initial page setup
      if (!IsPostBack)
      {
        /// set control text
        ValidateButton.Text = "Validate";
        MessageCorrectLabel.Text = "Correct!";
        MessageIncorrectLabel.Text = "Incorrect!";
    
        /// these messages are shown only after validation
        MessageCorrectLabel.Visible = false;
        MessageIncorrectLabel.Visible = false;
      }
    	
      if (IsPostBack)
      {
        /// validate the input code, and show the appropriate 
        /// message 
        string code = CodeTextBox.Text.Trim().ToUpper();
    	
        if (SampleCaptcha.Validate(code))
        {
          MessageCorrectLabel.Visible = true;
          MessageIncorrectLabel.Visible = false;
        }
        else
        {
          MessageCorrectLabel.Visible = false;
          MessageIncorrectLabel.Visible = true;
        }
    
        CodeTextBox.Text = null;
      }
    }
  • Guarde todos los cambios, y actualice la página en el navegador, Puede intentar la validación CAPTCHA en acción

Cómo utilizar BotDetect ASP.NET CAPTCHA sin Visual Studio: imagen 26

  • En sitios web de producción regularmente cambiará el código de validación para redirigir al usuario al recurso solicitado si la validación CAPTCHA es lograda

Ejemplo del código fuente de un proyecto BotDetect CAPTCHA

Puede encontrar el código fuente completo similar al resultado que debería obtener siguiendo estas instrucciones en el ejemplo de proyecto que viene con la instalación de BotDetect CAPTCHA.

Versiones Actuales de BotDetect

Advertencia

Esta página es una traducción no oficial de la página original: How To use BotDetect ASP.NET CAPTCHA without Visual Studio y puede estar incompleta, incorrecta o poco actualizada.

Última traducción del 2009-12-18. Esto se aplica para los productos BotDetect ASP.NET CAPTCHA v2.0.15 y BotDetect ASP CAPTCHA v2.0.9.

language: English Español Tiếng Việt