Come proteggere il modulo dal bot spam


Risposte:


15

Ho avuto lo stesso problema e l'ho risolto installando questa estensione dal magento-hackaton: https://github.com/magento-hackathon/HoneySpam

Questa estensione Magento aggiunge un campo nascosto con JavaScript al registro clienti e al modulo di revisione del prodotto che assomiglia al campo URL di un modulo di commento di Wordpress. Se questo campo viene riempito e il modulo viene inviato, viene visualizzato un messaggio di errore e nulla verrà salvato.

C'è anche un controllo se questo modulo è trasmesso troppo velocemente, un essere umano normalmente impiega un paio di secondi o più.

È possibile abilitare e disabilitare le funzionalità o impostare il tempo necessario per la trasmissione di questi moduli nel backend di amministrazione di Magento.

Aggiunti di recente: controllo del registro su tutti i campi di input per determinare un indice libero per il livello di spam. Non è affatto la cosa più accurata, ma può impedire lo spam di fascia bassa ("spam a banda larga"). È inoltre possibile abilitare / disabilitare questa funzione nel back-end e impostare un livello massimo di affidabilità dell'indice di spam.

Ecco come l'ho aggiunto al mio modulo:

Nel mio modulo .phtml file ho aggiunto questa riga:

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

Questo aggiungerà il campo aggiuntivo dichiarato in 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>

È un modulo personalizzato e posso vedere che l'estensione è valida solo per i moduli magentomade
Patrick Knudsen

non proprio, non è un modulo personalizzato che aggiunge un campo in più ai moduli desiderati, quindi puoi usare questa estensione per qualsiasi modulo tu voglia. Devi solo includere il file js lì e basta.
Lloiacono,

4
Approvo questa estensione. L'ho usato e ha fatto meraviglie. Non ti renderà privo di spam al 100%, ma fa un ottimo lavoro con il minimo sforzo.
Marius

il mio modulo è sulla mia pagina del prodotto, come posso includere i file js lì? è il file view.phtml.
Patrick Knudsen,

ottenuto l'approvazione @Marius. ora devi installare l'estensione.
Qaisar Satti,

0

Il codice aggiunto per la newsletter non è corretto. Ho metà del codice corretto, resta il problema che puoi nascondere solo un modulo alla volta con il codice document.observe. Abbiamo 2 caselle di newsletter e i moduli di revisione / contatto standard che non funzionano.

Questa è la parte corretta per la newsletter di piè di pagina di installazione magento predefinita.

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

Qualcuno è la soluzione completa?


La confondo solo un po ', devo aggiungere il codice sopra a newsletter.xml in app / design / frontend / default / mytheme / layout? Come posso vedere se è stato installato correttamente?
hln
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.