Comment sécuriser le formulaire contre le spam bot


Réponses:


15

J'ai eu le même problème et je l'ai résolu en installant cette extension depuis le magento-hackaton: https://github.com/magento-hackathon/HoneySpam

Cette extension Magento ajoute un champ qui est masqué avec JavaScript au registre des clients et au formulaire d'évaluation du produit qui ressemble au champ URL d'un formulaire de commentaire Wordpress. Si ce champ est rempli et que le formulaire est envoyé, un message d'erreur apparaît et rien ne sera enregistré.

Il y a aussi une vérification si cette forme est transmise trop rapidement, un humain prend normalement quelques secondes ou plus.

Vous pouvez activer et désactiver les fonctionnalités ou définir le temps nécessaire pour transmettre ces formulaires dans le backend d'administration Magento.

Fraîchement ajouté: Regex-contrôle sur tous les champs d'entrée pour déterminer un index lâche pour le niveau de spam. Ce n'est pas du tout la chose la plus précise, mais cela peut empêcher le spam bas de gamme ("spam à large bande"). Vous pouvez également activer / désactiver cette fonctionnalité dans le backend et définir un niveau de confiance d'index de spam maximal.

Voici comment je l'ai ajouté à mon formulaire:

Sur mon formulaire .phtml, j'ai ajouté cette ligne:

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

Cela ajoutera le champ supplémentaire déclaré dans 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>

C'est un formulaire personnalisé, et je peux voir que cette extension n'est bonne que pour les formulaires magentomade
Patrick Knudsen

pas vraiment, n'est pas un formulaire personnalisé, il ajoute un champ supplémentaire aux formulaires que vous souhaitez, vous pouvez donc utiliser cette extension pour n'importe quel formulaire que vous souhaitez. Vous avez juste besoin d'y inclure le fichier js et c'est tout.
lloiacono

4
J'approuve cette extension. Je l'ai utilisé et il a fait des merveilles. Il ne vous procurera pas 100% de spam, mais il fait un excellent travail avec un minimum d'effort.
Marius

mon formulaire est sur ma page produit, comment puis-je y inclure les fichiers js? c'est le fichier view.phtml.
Patrick Knudsen

a obtenu l'approbation de @Marius. vous devez maintenant installer l'extension.
Qaisar Satti

0

Le code ajouté pour la newsletter est incorrect. J'ai la moitié du code correct, le problème reste que vous ne pouvez masquer qu'un seul formulaire à la fois avec le code document.observe. Nous avons 2 boîtes de newsletter et les formulaires standard de révision / contact et cela ne fonctionne pas.

C'est la bonne partie de la newsletter par défaut du pied de page d'installation 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>

Quelqu'un la solution complète?


Je la confond un peu, dois-je ajouter le code ci-dessus à newsletter.xml dans app / design / frontend / default / mytheme / layout? Comment puis-je voir qu'il est corrigé installé?
hln
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.