Cómo asegurar el formulario del bot de spam

9

En mi tienda de Magento, tengo un formulario, que me envió la información por correo electrónico, y recientemente he recibido mucho correo basura de ese formulario (70 desde ayer).

¿Es posible obtener un formulario seguro en magento sin utilizar CAPTHA? :)

Patrick Knudsen
fuente
Esta respuesta puede ser útil para usted. -> magento.stackexchange.com/questions/103808/…
Vishwas Soni

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>
lloiacono
fuente
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?

Kim K.
fuente
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