Como proteger o formulário do bot de spam


Respostas:


15

Eu tive o mesmo problema e resolvi instalando esta extensão do magento-hackaton: https://github.com/magento-hackathon/HoneySpam

Esta extensão Magento adiciona um campo oculto com JavaScript ao registro do cliente e ao formulário de revisão do produto que se parece com o campo URL de um formulário de comentário do Wordpress. Se esse campo for preenchido e o formulário for enviado, aparecerá uma mensagem de erro e nada será salvo.

Há também uma verificação se este formulário é transmitido muito rapidamente; um humano normalmente leva alguns segundos ou mais.

Você pode ativar e desativar as funcionalidades ou definir o tempo necessário para transmitir esses formulários no Magento Admin Backend.

Recém-adicionado: verificação de Regex em todos os campos de entrada para determinar um índice flexível para o nível de spam. Não é a coisa mais precisa, mas pode impedir o spam low-end ("spam de banda larga"). Você também pode ativar / desativar esse recurso no back-end e definir um nível máximo de confiança no índice de spam.

Foi assim que adicionei ao meu formulário:

No meu arquivo .phtml do formulário, adicionei esta linha:

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

Isso adicionará o campo extra declarado em 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>

É um formulário personalizado, e eu posso se que a extensão só é bom para formas magentomade
Patrick Knudsen

Na verdade, não é um formulário personalizado; ele adiciona um campo extra aos formulários desejados, para que você possa usar essa extensão para qualquer formulário que desejar. Você só precisa incluir o arquivo js lá e é isso.
Lloiacono 02/03

4
Eu aprovo esta extensão. Eu usei e ele fez maravilhas. Ele não oferece 100% de spam grátis, mas faz um trabalho maravilhoso com um esforço mínimo.
Marius

meu formulário está na página do meu produto, como incluo os arquivos js lá? é o arquivo view.phtml.
Patrick Knudsen

obteve a aprovação @ Marius. agora você deve instalar a extensão.
Qaisar Satti 02/03

0

O código adicionado para o boletim está incorreto. Eu tenho metade do código correto, o problema continua sendo que você só pode ocultar um formulário por vez com o código document.observe. Temos duas caixas de boletim informativo e os formulários padrão de revisão / contato e isso não funciona.

Esta é a parte correta para o boletim de rodapé padrão do magento install footer.

    <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>

Alguém a solução completa?


Confuso um pouco com ela, devo adicionar o código acima ao newsletter.xml em app / design / frontend / default / mytheme / layout? Como posso ver se está corrigido instalado?
Hln
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.