Cómo asegurar el formulario del bot de spam


Respuestas:


15

Tuve el mismo problema y lo resolví instalando esta extensión desde el magento-hackaton: https://github.com/magento-hackathon/HoneySpam

Esta extensión de Magento agrega un campo que está oculto con JavaScript al Registro de clientes y al Formulario de revisión del producto que se parece al campo URL de un Formulario de comentarios de Wordpress. Si este campo se llena y se envía el formulario, aparece un mensaje de error y no se guardará nada.

También se verifica si este formulario se transmite demasiado rápido, un ser humano normalmente tarda un par de segundos o más.

Puede habilitar y deshabilitar las funcionalidades o establecer el tiempo que demorará la transmisión de estos formularios en el backend de administración de Magento.

Recién agregado: comprobación de expresiones regulares en todos los campos de entrada para determinar un índice suelto para el nivel de spam. No es lo más preciso en absoluto, pero puede evitar el spam de gama baja ("spam de banda ancha"). También puede habilitar / deshabilitar esta función en el backend y establecer un nivel máximo de confianza del índice de spam.

Así es como lo agregué a mi formulario:

En mi archivo .phtml de formulario agregué esta línea:

<?php echo $this->getBlockHtml('contacts.form.fields.before') ?>

Esto agregará el campo adicional declarado en app / design / frontend / base / default / layout / honeyspam.xml:

<default>
    <update handle="honeypot"/>
    <reference name="footer_newsletter">
        <block type="core/text_list" name="contacts.form.fields.before" as="form_fields_before" translate="label">
            <block type="hackathon_honeyspam/honeypot" name="honeyspam.honeypot"
                   template="hackathon/honeyspam/honeypot.phtml"/>
        </block>
    </reference>
</default>

<contacts_index_index>
    <update handle="honeypot"/>
    <reference name="contactForm">
        <block type="core/text_list" name="contacts.form.fields.before" as="form_fields_before" translate="label">
            <block type="hackathon_honeyspam/honeypot" name="honeyspam.honeypot"
                   template="hackathon/honeyspam/honeypot.phtml"/>
        </block>
    </reference>
</contacts_index_index>

Es un formulario personalizado, y puedo ver que la extensión solo es buena para los formularios magentomade
Patrick Knudsen

en realidad no, no es un formulario personalizado, agrega un campo adicional a los formularios que desea, por lo que puede usar esta extensión para cualquier formulario que desee. Solo necesita incluir el archivo js allí y eso es todo.
lloiacono

44
Apruebo esta extensión. Lo usé y ha hecho maravillas. No lo hará 100% libre de spam, pero hace un trabajo maravilloso con un mínimo esfuerzo.
Marius

mi formulario está en mi página de producto, ¿cómo incluyo los archivos js allí? es el archivo view.phtml.
Patrick Knudsen

Obtuve la aprobación de @Marius. ahora debes instalar la extensión.
Qaisar Satti

0

El código agregado para el boletín es incorrecto. Tengo la mitad del código correcto, el problema sigue siendo que solo puede ocultar un formulario a la vez con document.observe code. Tenemos 2 cajas de boletín y los formularios de revisión / contacto estándar y eso no funciona.

Sin embargo, esta es la parte correcta para el boletín de pie de página predeterminado de instalación de magento.

    <default>
    <update handle="honeypot"/>
    <reference name="footer.newsletter">
        <block type="core/text_list" name="newsletter.form.fields.before" as="form_fields_before" translate="label">
            <block type="hackathon_honeyspam/honeypot" name="honeyspam.honeypot"
                   template="hackathon/honeyspam/honeypot.phtml"/>
        </block>
    </reference>
</default>

¿Alguien la solución completa?


Solo le confundo un poco, ¿debo agregar el código anterior a newsletter.xml en app / design / frontend / default / mytheme / layout? ¿Cómo puedo ver que está corregido instalado?
hln
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.