BotDetect ASP.NET CAPTCHA Problemas conocidos
Esta página muestra problemas conocidos relacionados con BotDetect ASP.NET CAPTCHA, con explicaciones de porqué ocurren y sugerencias para solucionarlos.
- [#4120852] El audio de BotDetect CAPTCHA no se reproduce en IE 6.0 usando compresión del lado del servidor
- [#4120851] BotDetect Audio CAPTCHA truncado en Firefox
- [#4120863] El audio de BotDetect CAPTCHA no se reproduce al usar el encabezado global "no-cache" y SSL
- [#4120861] SSL OFFloading y Audio CAPTCHA en IE
- [#4120862] El audio del CAPTCHA producido por .NET 1.1 es incorrecto en navegadores nuevos (Google Chrome, IE 7.0 en Vista)
- [#4120741] Estado de sesión e indexado del motor de búsqueda ASP.NET sin cookies
El audio de BotDetect CAPTCHA no se reproduce en IE 6.0 usando compresión del lado del servidor
ID del problema
#4220852
Productos afectados
BotDetect ASP.NET CAPTCHA v2.0.*
Servidores afectados
.NET Framework 1.1, 2.0, 3.0, 3.5
Clientes afectados
IE 6.0
Estado
Problema de terceras partes - no se puede arreglar
Description
Si tiene habilitado la compresión de contenido dinámica IIS en sus servidores para rutas BotDetect CAPTCHA, el audio CAPTCHA no se reproducirá en navegadores IE 6.0.
Pasos para reproducir
- Abra una página usando BotDetect ASP.NET CAPTCHA en IE 6.0
- Haga click en el ícono del parlante - nada se escuchará
- Click-derecho sobre el ícono del parlante y seleccione "Abrir enlace en una nueva pestaña" - el archivo de sonido contendrá el código CAPTCHA completo
Explicación
Este problema sólo ocurre cuando tiene habilitado la compresión de contenido dinámico para rutas .asp en sus servidores.
Como descargar el archivo (mediante hacer clic-derecho en el ícono de parlante y seleccionando "Abrir enlace en una nueva pestaña") y reproduciendolo en Winamp funciona correctamente, probablemente hay un problema de comunicación entre IE y el plug-in del reproductor de sonido (Windows Media Player). Quizás la longitud del contenido comprimido es transmitido al reproductor en lugar del completo (descomprimido), lo que causaría que sólo una parte del archivo de sonido se reproduciera
Soluciones
Este problema puede ser resuelto desabilitando la compresión gzip para los sonidos CAPTCHA. La manera más simple para hacer esto es ajustando la propiedad ISS de metabase:
cscript c:\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/Filters/Compression/gzip/HcDoDynamicCompression "FALSE" iisreset
Por favor note que esto desabilitará la compresión para todo el contenido con tipos definidos en la propiedad HcScriptFileExtensions.
Si usted desea continuar comprimiendo sus páginas de .aspx y otro contenido dinámico, pero inhabilitan la compresión para las peticiones de BotDetect – y si usted está utilizando el framework 2.0 de .NET o más nuevo – usted podría, por ejemplo, cambiar la extensión de las peticiones de BotDetect a .ashx. Para cambiar la trayectoria de BotDetect CAPTCHA HttpHandler a LanapCaptchaHandler.ashx:
1) Agregue las líneas siguientes <appSettings> sección del archivo web.config:
<appSettings> <add key="LBD_RequestPath" value="LanapCaptchaHandler.ashx" /> </appSettings>
2) Ponga al día el registro de HttpHandler en la sección <system.web> del archivo web.config:
<httpHandlers>
<add verb="*" path="LanapCaptchaHandler.ashx"
type="Lanap.BotDetect.CaptchaHandler, Lanap.BotDetect"/>
</httpHandlers>
Si se asume que la extensión de .ashx no a sido incluida en la característica del metabase de HcScriptFileExtensions IIS para la compresión del gzip, usted puede mantener la compresión dinámica encendida, y los sonidos de CAPTCHA no serán comprimidos, que debería solucionar el problema.
BotDetect Audio CAPTCHA truncado en Firefox
ID del problema
#4120851
Productos afectados
BotDetect ASP.NET CAPTCHA v2.0.*
Servidores afectados
.NET Framework 1.1, 2.0, 3.0, 3.5
Clientes afectados
Firefox 2.0.x, 3.0.x
Estado
Problema de terceras partes - no se puede arreglar
Descripción
Si tiene habilitado la compresión de contenido dinámica IIS en sus servidores para rutas BotDetect CAPTCHA, el audio CAPTCHA sólo reproducirá los primeros caracteres del código CAPTCHA en navegadores Firefox.
Pasos para reproducir
- Abra una página usando BotDetect ASP.NET CAPTCHA en Firefox 2.0 o 3.0
- Haga click en el ícono del parlante - sólo los caracteres del comienzo del código serán reproducidos (por ejemplo, los primeros 3 caracteres de un código CAPTCHA de 5 caracteres)
- Click-derecho sobre el ícono del parlante y seleccione "Abrir enlace en una nueva pestaña" - el archivo de sonido contendrá el código CAPTCHA completo
Explicación
Este problema sólo ocurre cuando tiene habilitado la compresión de contenido dinámico para rutas .aspx en sus servidores.
Como descargar el archivo (mediante hacer clic-derecho en el ícono de parlante y seleccionando "Abrir enlace en una nueva pestaña") y reproduciendolo en Winamp funciona correctamente, probablemente hay un problema de comunicación entre Firefox y el plug-in del reproductor de sonido (QuickTime en nuestras máquinas de prueba). Quizás la longitud del contenido comprimido es transmitido al reproductor en lugar del completo (descomprimido), lo que causaría que sólo una parte del archivo de sonido se reproduciera.
Soluciones
Este problema puede ser resuelto desabilitando la compresión gzip para los sonidos CAPTCHA. La manera más simple para hacer esto es ajustando la propiedad ISS de metabase:
cscript c:\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/Filters/Compression/gzip/HcDoDynamicCompression "FALSE" iisreset
Por favor note que esto desabilitará la compresión para todo el contenido con tipos definidos en la propiedad HcScriptFileExtensions.
Si quiere continuar comprimiendo sus páginas .aspx y otro contenido dinámico, pero deshabilitar la compresión para BotDetect – y si está usando .NET framework 2.0 o más reciente – puede cambiar por ejemplo la extensión de las solicitudes de BotDetect a .ashx. Para cambiar la ruta de BotDetect CAPTCHA HttpHandler a LanapCaptchaHandler.ashx:
1) Agregue las siguientes lineas sección <appSettings> del archivo web.config:
<appSettings> <add key="LBD_RequestPath" value="LanapCaptchaHandler.ashx" /> </appSettings>
2) Actualice la registración HttpHandler en la sección <system.web> del archivo web.config:
<httpHandlers>
<add verb="*" path="LanapCaptchaHandler.ashx"
type="Lanap.BotDetect.CaptchaHandler, Lanap.BotDetect"/>
</httpHandlers>
Asumiendo que la extensión .ashx no está incluida en la propiedad de metabase HcScriptFileExtensions para compresión gzip, puede mantener la compresión de contenido dinámico encendida, y los sonidos CAPTCHA no serán comprimidos, lo que debería solucionar el problema.
El audio de BotDetect CAPTCHA no se reproduce al usar el encabezado global "no-cache" y SSL
ID del problema
#4120863
Productos afectados
BotDetect ASP.NET CAPTCHA v2.0.*
Servidores afectados
.NET Framework 1.1, 2.0, 3.0, 3.5
Clientes afectados
IE 6.0, IE 7.0
Estado
Problema de terceras partes - no se puede arreglar
Descrición
Si uted configura su servidor para enviasr cabeceras de "no-cache" con cada respuesta Http en un sitio que use SSL, el audio de BotDetect CAPTCHA no funcionará para usuarios de IE.
Pasos para reproducir
- Modifique la configuración de IIS, para añadir la cabecera personalizada a todo el sitio / directorio virtual: 'Pragma: no-cache' o 'Cache-Control: no-cache'.
- Abra una página a la que esa configuración haya sido aplicada, página que tenga un CAPTCHA de BotDetect CAPTCHA mediante Https
- Haga clic en el ícono del altavoz - el sonido no será reproducido
- Haga clic secundario en el ícono del altavoz y selecciones "Guardar destino como..." - cuando usted intente descargar el archivo .wav del sonido, aparecerá el siguiente error: 'Internet Explorer cannot download LanapCaptcha.aspx from localhost. Internet Explorer was not able to open this Internet site. The requested site is either unavailable or cannot be found. Please try again later.'
Explicación
Este problema es causado porque IE no soporta de forma correcta el encabezado no-cache e incorpora una prohibición de guardar archivos usando SSL. Como los archivos .wav no pueden ser guardados en el cliente, tampoco pueden ser reproducidos. BotDetect puede detectar problemas de esta índole, pero como en este caso la configuración está establecidad de forma global, modificando la configuración de ISS, es imposible solucionarla de forma local para BotDetect.
Soluciones
Cambie la configuración en las opciones de IIS, omitiendo las rutas relacionadas con BotDetect CAPTCHA de la declaración de cabeceras personalizada.
SSL OFFloading y Audio CAPTCHA en IE
ID del problema
#4120861
Productos afectados
BotDetect ASP.NET CAPTCHA v2.0.*
Servidores afectados
.NET Framework 1.1, 2.0, 3.0, 3.5
Clientes afectados
IE 6.0, IE 7.0
Estado
Reparado en v2.0.13
Descripción
Si está usando SSL offloading, por ejemplo solicitudes HTTPS a su sitio son decifradas por un proxy especial y transmitido a su servidor web sobre HTTP plano, usuarios de IE no podrán usar audio CAPTCHA.
Pasos para reproducir
- Abrir una página usando el CAPTCHA BotDetect ASP.NET sobre HTTPS en Internet Explorer 6.0 o 7.0
- Click en el ícono del parlante - ningún sonido será reproducido
- Click-derecho en el ícono del parlante y seleccionar "Abrir en una pestaña nueva" - un error ocurrirá, diciendo que IE no puede descargar el archivo
Explicación
El problema es causado por las descargas de archivos de IE no funcionando si el servidor envía un archivo por SSL con el encabezado no-cache. IE interpreta el encabezado como una prohibición estricta de guardar el archivo localmente, lo que significa que el archivo de sonido no es descargado en el cliente. Como el archivo de sonido primero necesita ser descargado para ser reproducido, esto significa que el CAPTCHA de sonido nunca es reproducido.
En otros navegadores probamos esto en contra (Firefox, Opera, Safari), este encabezado es interpretado diferente, lo que significa que el archivo de sonido puede ser descargado (y reproducido), pero no es reutilizado. IE también trabaja adecuadamente cuando no usa SSL. En otras palabras, es el caso de uso no-cache + SSL + IE que es problemático.
Cuando no se usa SSL, el encabezado no-cache es requerido, de lo contrario hay casos de uso que cuando se cambia el CAPTCHA de imagen no resulta en el cambio equivalente en el CAPTCHA de sonido, ya que el navegador reutiliza el archivo de sonido antiguo.
Asi que la solución que usamos en la última versión de BotDetect es enviar el encabezado no-cache solo si SSL no es usado. En otras palabras, el código es similar a:
if (!context.Request.IsSecureConnection)
{
context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
}
Ya que el código es obviamente ejecutado en el servidor web, esto sólo funciona si la solicitud es enviada al servidor web por medio de SSL. Pero si el offloading de SSL significa que las peticiones SSL son hechas a un artefacto de red especial, que decripta el tráfico y envía peticiones planas HTTP al servidor web, el servidor web no sabrá que la petición actual es hecha sobre SSL.
En otras palabras, context.Request.IsSecureConnection será falso al punto de ejecución aún incluso si la petición original fue hecha sobre SSL. Esto en su momento resultará en que la cabecera no-cache será enviada a los clientes IE, retornando los problemas originales.
Soluciones
Si usted experimenta este problema, por favor actualice su copia a BotDetect ASP.NET CAPTCHA to v2.0.13 o superior. El texto del recuadro inferior sólo aplica a versiones antiguas del componente Captcha.
Nuestro componente necesita encargarse del más alto rango posible de buscadores y casos de uso, asi que la solución general es no-trivial - a pesar de la descarga de SSL, el servidor web aún necesita saber que la petición fue originalmente enviada sobre SSL, y que la cabecera apropiada fue enviada acordamente. Esto se puede lograr mandando petición de soindo especial de parámetro querystring (cadena de consulta), que es seteado en el sonido que está reproduciendo JavaScript dependiendo de cómo el cliente ve la página (HTTP o HTTP plano), por ejemplo. Investigaremos esta solución en versiones futuras de BotDetect.
Puede tratar de ver los ajustes de la descarga de SSL, quizás hay una solución existente para casos en los cuales el servidor necesita saber que está siendo accedido via SSL incluso si este está descargado. Si la propiedad HttpContext.Current.Request.IsSecureConnection de ASP.NET built-in puede hacerse que trabaje de manera correcta, eso puede resolver el problema.
También, si sólo va a usar CAPTCHA en páginas accedidas mediante SSL, no tiene que encargarse del caso de uso del HTTP plano – lo que significa que puede remover la lógica de SSL-detecting (detección-SSL) de todo el código y sólo asumir que SSL es siempre usado. Puede hacer este cambio en el código fuente del componente si usted lo compró.
El audio del CAPTCHA producido por .NET 1.1 es incorrecto en navegadores nuevos (Google Chrome, IE 7.0 en Vista)
ID del problema
#4120862
Productos afectados
BotDetect ASP.NET CAPTCHA v2.0.*
Servidores afectados
.NET Framework 1.1
Clientes afectados
IE 7.0 + Vista + Windows Media Player 11, Google Chrome
Estado
Problema de terceras partes - no se puede arreglar
Descripción
Si usted utiliza ASP.NET 1.1, los usuarios verán afectada su experiencia de uso por problemas con el audio del CAPTCHA.
Pasos para reproducir
- Abra una página utilizando un navegador afectado, la página debe usar un CAPTCHA de BotDetect ASP.NET 1.1
- Haga clic en el ícono del altavoz - el sonido que se escuchará será diferente al mostrado en la imagen del CAPTCHA
- Intente validar el CAPTCHA utilizando el código del audio - la validación fallará
- Intente validar el CAPTCHA usando los caracteres mostrados en la imagen del mismo - la validación serás correcta
- Haga clic en el ícono del altavoz, y luego "Abra el enlace en una nueva pestaña", la descarga iniciará y le permitirá guardar el archivo .wav - el código hablado del archivo será el correcto
Explicación
Este problema es explicado en detalle en la sección de preguntas frecuentes para IE 7.0 Vista y Google Chrome. Como ASP.NET 1.1 no soporta sesiones sin cookies ni permite la personalización de SessionIDManager, no puede aplicarse la solución descrita en las preguntas más frecuentes.
Soluciones
Actualice sus páginas a ASP.NET 2.0, y aplique la corrección comentada anteriormente, disponible en preguntas frecuentes.
Estado de sesión e indexado del motor de búsqueda ASP.NET sin cookies
ID del problema
#4120741
Productos afectados
BotDetect ASP.NET CAPTCHA v2.0.*
Servidores afectados
.NET Framework 2.0, 3.0, 3.5
Clientes afectados
Googlebot, Yahoo! Slurp, msnbot, otros crawlers (bots de búsqueda)
Estado
Problema de terceras partes - no se puede arreglar
Descripción
Si permite un estado de sesión ASP.NET sin cookies en su aplicación (el elemento <sessionState> el atributo cookieless (sin cookies) puesto como "true" o AutoDetect en su archivo web.config), sus páginas ASP.NET y algunas rutas BotDetect CAPTCHA puede que queden indexadas en múltiples ocaciones en varios motores de búsqueda, con distintas URLs.
Pasos a reproducir
- Revise que los índices de Google, Yahoo o Live de su sitio web contengan al menos una página ASP.NET (usando el operador site:) - por ejemplo, test/default.aspx
- Configure el atributo cookieless a "true" o "AutoDetect" en el archivo web.config de su aplicación
- Revise que el índice de Google, Yahoo o Live de su sitio web periódicamente - mientras los crawlers (arañas de la web) visiten sus páginas ASP.NET, agregarán varias copias diferentes de la misma página con distintas URLs - por ejemplo, test/(S(xihahl55btbse4qpvz45qj55))/default.aspx, test/(S(upoy35555j25grr4dacr1bz1))/default.aspx, test/(S(3aebky5512wexi45oylubwud))/default.aspx...
Explicación
El Estado de Sesión ASP.NET sin cookies está hecho para para asegurar que sus páginas ASP.NET trabajen de manera correcta incluso para usuarios que hallan desactivado las cookies en sus exploradores. Como una alternativa al Estado de Sesión regular que guarda el ID de la Sesión en una cookie, éste reescribe las URLs en sus páginas que contengan en cambio la ID de la Sesión. Esto es útil para los visitantes de su sitio pero puede influir el indexado de sus páginas ASP.NET en indexados de motores de búsqueda.
Cómo varios crawlers (arañas de la web)(Googlebot, Yahoo! Slurp, msnbot, ...) visitan su sitio sin ningún soporte de cookie, el tiempo de ejecución ASP.NET reescribe las URLs de sus páginas para que contengan la ID de la Sesión. Y como la ID de la Sesión es altamente dinámica y cambia en cada visita de un crawler, sus páginas siempre tendrán un número de entradas diferentes para la misma página. Este en su debido momento puede causar que el motor de búsqueda los considere contenido duplicado y mover esas páginas a resultados suplementarios, efectivamente removiéndolos de las búsquedas de usuarios.
Soluciones
Primero, las rutas de peticiones BotDetect CAPTCHA deberían estar siempre bloqueadas en el archivo robots.txt, como no deberían ser indexadas en motores de búsquedas:
User-Agent: Googlebot Disallow: /*/LanapCaptcha.aspx Disallow: /*/WebResource.axd User-Agent: Yahoo! Slurp Disallow: /*/LanapCaptcha.aspx Disallow: /*/WebResource.axd User-Agent: msnbot Disallow: /*/LanapCaptcha.aspx Disallow: /*/WebResource.axd User-Agent: * # otras restricciones van debajo
Además, puede tratar de prevenir que ASP.NET use URls de Sesión sin cookies para Googlebot, Yahoo! Slurp, msnbot y otros robots de motores de búsqueda. Esto es importante si quiere que sus páginas ASP.NET sean incluidas en el índice del motor de búsqueda de manera correcta.
Según este artículo, cree una carpeta llamada App_Browsers en su carpeta de proyectos de root y siga las instrucciones para crear un archivo genericmozilla5.browser ahí. Esto debería tener el efecto de que los robots en cuestión siempre obtendrían el mismo Url, a pesar del hecho de que no tienen soporte para cookies.
Si esto no ayuda a devolver sus páginas en el índice del motor de búsqueda con las URLs correspondientes, y es importante para usted que éstas queden indexadas y clasificadas como corresponde, debería considerar desabilitar todo el Estado de Sesión cookieless ASP.NET. Para hacer esto, configure el atributo cookieless del elemento <sessionState> como "false" en el archivo web.config de su aplicación
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: BotDetect ASP.NET CAPTCHA Known Issues 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.





