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)
- 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>
- 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 { }
- Clic-derecho en la carpeta y abrir sus propiedades...
- ...clic en "Share this folder"(Compartir esta carpeta) en la pestaña "Web Sharing"...
- ...luego hacer click "OK".
- Abra "Administrative Tools"(Herramientas Administrativas) en Control Panel (Panel de Control)...
- ... escoja "Internet Information Services"... (Servicios de Información de Internet)
- ...seleccione la recientemente creada carpeta de sitio web virtual en la vista de árbol de Sitios Web...
- ...click-derecho en la carpeta y abra sus propiedades...
- ...hacer click en "Edit"(Editar) que está en la pestaña "Directory Security"(Seguridad del Directorio)...
- ...tache el cuadro verificador "Anonymous access"(Acceso anónimo) y luego haga click en "OK"...
- ...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...
- ...cierre el díalogo de Propiedades, click-derecho en el archivo Default.aspx en la vista de carpetas, y seleccione "Browse"... (Buscar)
- ... y si todo está configurado correctamente, debería ver la página en su navegador
Paso 2. Configure su sitio para utilizar BotDetect CAPTCHA
- Cree una nueva sub carpeta llamada Bin en la carpeta del sitio web
- Navegue hasta el archivo Lanap.BotDetect.dll que se encuentra en la carpeta de la instalación de BotDetect CAPTCHA
- Copiélo a la carpeta Bin del proyecto
- 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>
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>
- Guarde todos los cambios, y actualice la página en el navegador. Verá una imagen CAPTCHA renderizada en su formulario web.
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
- 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
- BotDetect ASP.NET CAPTCHA v2.0.152009–11–23
- BotDetect ASP CAPTCHA v2.0.92009–02–12
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.





























