Cómo registrar los intentos de validación de BotDetect ASP.NET 1.1 CAPTCHA

Desde la versión 2.0.14, BotDetect ASP.NET CAPTCHA extiende la funcionalidad del registro de eventos para favorecer el diagnóstico de errores. Esta página describe como utilizar esta funcionalidad en sus proyectos.

Registrar las validaciones de BotDetect CAPTCHA a un archivo de texto

ATENCIÓN

El registro de las validaciones de Captcha sólo debe ser activado por períodos limitados de tiempo, durante la búsqueda de problemas o depuración.

Para proporcionar el máximo de información por cada validación, cada registro de validación genera cerca de 2kB de datos.

La validación puede generar archivos gigantescos de registros, por lo que no debe dejarse activa por un tiempo muy largo.

Instrucciones paso a paso

  • Busque la carpeta Troubleshootingen la carpeta de instalación de BotDetect ASP.NET CAPTCHA (C:\Program Files\Lanapsoft\BotDetect 2.0 CAPTCHA\ASP.NET 1.1\Assembly\Troubleshooting por defecto)
  • Copie Lanap.BotDetect.Troubleshooting.dll y log4net.dll a la carpeta Bin de su aplicación
  • Cree un archivo de texto llamado debug.txt en la misma carpeta en donde está el archivo web.config de su aplicación, asegúrese de que la cuenta de IIS cuenta con privilegios para modificarlo (Modify).
  • La cuenta de usuario utilizada depende de su versión de IIS y de la configuración. De forma predeterminada, estos serán:

    • IIS 5.0 o 5.1: ASPNET
    • IIS 6.0 o 7.0: NETWORK SERVICE
    • IIS 7.5: Será la cuenta ApplicationPoolIdentity de su aplicación (establecida según la "AppPool")

    Para establecer los permisos pertinentes, puede utilizar los siguientes comandos:

    cacls debug.txt /G "ASPNET":C /E /C
    cacls debug.txt /G "NETWORK SERVICE":C /E /C
    cacls debug.txt /G "IIS AppPool\TODO:AppicationPoolName":C /E /C
  • Añada las siguientes líneas al comienzo de la sección <configuration> del archivo web.config de su aplicación:
    <configSections>
      <section name="log4net" 
        type="log4net.Config.Log4NetConfigurationSectionHandler, 
        log4net" />
    </configSections>
    
    <log4net>
    
      <!-- Debug info is logged to a 'debug.txt' file  -->
      <appender name="DebugFileAppender" 
          type="log4net.Appender.FileAppender">
        <file value="debug.txt" />
        <appendToFile value="true" />
        <lockingModel 
          type="log4net.Appender.FileAppender+MinimalLock" />
        <layout type="log4net.Layout.PatternLayout,log4net">
          <conversionPattern 
            value="%date [%thread] %type - %n%n%message%n%n" />
        </layout>
      </appender>
    
      <!-- Debug logging is enabled, comment-out to disable -->
      <logger name="DebugLogger">
        <level value="DEBUG" />
        <appender-ref ref="DebugFileAppender" />
      </logger>
    		
    </log4net>
          

    Esto registrará una sección de configuración personalizada de log4net, con todos los requisitos de log4net.

  • Añada las siguiente lineas al comienzo de la sección <system.web>, justo arriba de <httpHandlers>:
    <httpModules> 
      <add type="
        Lanap.BotDetect.Troubleshooting.LoggingModule, 
          Lanap.BotDetect.Troubleshooting" 
        name="LoggingModule" />
    </httpModules>

    Esto registrará el seguimiento de errores del HttpModule.

Explicación

El ensamblado Lanap.BotDetect.Troubleshooting.dll contiene un módulo especial (llamado LoggingModule), que también maneja Captcha.PreValidateCaptcha y Captcha.PostValidateCaptcha pasando los datos a los registros definidos en la configuración de log4net.

Proyecto de ejemplo

Este alcance descrito en la sección anterior, está implementada en el ejemplo de solución de problemas que se incluye con BotDetect, así puede comprobar en el código que más le acomode (C# o VB.NET) cómo implementar esta solución y los archivos web.config relacionados.

Configuración avanzada de registro y licencia de log4net

Cómo el módulo LoggingModule usa código abierto de log4net (http://logging.apache.org/log4net/), usted puede modificar el método de registro de errores como desee: escribir archivos de texto, bases de datos, a la consola, etc.

Hay un montón de opciones y configuraciones que puede usar, y lo invitamos a leer sobre estas posibilidades en http://logging.apache.org/log4net/release/manual/introduction.html.

La licencia de log4net puede ser leída en http://logging.apache.org/log4net/license.html, como también en el subdirectorio Assembly\Troubleshooting de su instalación de BotDetect ASP.NET CAPTCHA (archivos log4net license.txt y log4net notice.txt, incluyendo los términos de uso).

Formato de registro de validación de BotDetect CAPTCHA

Cada registro de validación de Captcha contiene:

  • Hora y fecha del cliente, cuando el evento ocurrió, y el tipo de evento
  • El IP del cliente, cookies y su "user agent" (navegador)
  • Argumentos del evento, datos de la validación, como el ingreso del usuario y el resultado de la validación del Captcha
  • La sesión de estado relevante a BotDetect CAPTCHA:

    • el "Session ID"
    • valores de estado de sesión (Session State) generados por BotDetect
    • una coleción de códigos activos para la sesión actual
    • tiempo de generación, contenidos y seguimiento de uso de cada código activo

Ejemplo de registro de validación de BotDetect CAPTCHA

2009-09-05 16:42:48,343 [5304] 
  Lanap.BotDetect.Troubleshooting.DebugLogger - 

PreValidateCaptcha, 

CLIENT IP

127.0.0.1


COOKIES

ASP.NET_SessionId: fh3nfi55mvegjz45idqmktzf


BROWSER

Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1.2) 
  Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)

, 
PreValidateCaptchaEventArgs

USER INPUT: ASDASD
CAPTCHA ID: default_samplecaptcha
VALIDATING INSTANCE ID: c598856590de4914b2d368595522277c
VALIDATION ORIGIN: Server
, 

REQUEST

LBD_VCT_default_samplecaptcha : c598856590de4914b2d368595522277c
, 

SESSION

ID : fh3nfi55mvegjz45idqmktzf
LBD_CaptchaCodeCollection_default_samplecaptcha : 

CODE COLLECTION

c598856590de4914b2d368595522277c : CAPTCHA CODE

code : D9M4S
generated at : 9/5/2009 4:42:41 PM
image requested: True
sound requested: False


-----------------------------------------------------------------------

2009-09-05 16:42:48,437 [5304] 
  Lanap.BotDetect.Troubleshooting.DebugLogger - 

PostValidateCaptcha, 

CLIENT IP

127.0.0.1

COOKIES

scroll: http://localhost/en.captcha.biz/demo/captcha-demo.aspx,0,0
ASP.NET_SessionId: fh3nfi55mvegjz45idqmktzf


BROWSER

Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1.2) 
  Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)

, 
PostValidateCaptchaEventArgs

USER INPUT: ASDASD
CAPTCHA ID: default_samplecaptcha
VALIDATING INSTANCE ID: c598856590de4914b2d368595522277c
VALIDATION ORIGIN: Server
VALIDATION RESULT: False
, 

REQUEST

LBD_VCT_default_samplecaptcha : c598856590de4914b2d368595522277c
, 

SESSION

ID : fh3nfi55mvegjz45idqmktzf
LBD_CaptchaCodeCollection_default_samplecaptcha : 

CODE COLLECTION

-----------------------------------------------------------------------

Versiones Actuales de BotDetect

Advertencia

Esta página es una traducción no oficial de la página original: How to log BotDetect ASP.NET CAPTCHA validation attempts 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