2012-02-29 78 views
6

Ho implementato i campi honeypot sulla maggior parte dei moduli di contatto del mio cliente al fine di prevenire lo spamming. Tuttavia, sto notando che l'opzione di riempimento automatico dei moduli di IE riempie il campo honeypot e quindi attiva la mia logica anti-spam. Come posso evitare questo?Come posso evitare che il riempimento automatico di IE form compili un campo honeypot?

Ho provato a dare al campo del modulo un nome diverso - attualmente è chiamato emailConfirmation, ma ho provato conf_em e liame, ed è ancora auto-compilante. Ho anche provato a spostare il campo honeypot nella parte inferiore del modulo, in nessun posto vicino all'ingresso esistente email.

+0

è il campo invisibile? Se sì, non vedo perché IE lo riempia automaticamente. Se no, allora cos'è "honeypot" a riguardo? –

+0

Sì, il campo all'interno di uno SPAN che è nascosto (css: 'display: none'), questo è un campo honeypot - un campo nascosto che i bot non sanno è nascosto, quindi lo riempiono. Ma IE * IS * riempimento automatico. –

+0

Sì, semplicemente non potevo credere che IE fosse così stupido. Che senso ha riempire un campo nascosto? :/ –

risposta

1

Assegna al campo honeypot un nome semi-casuale es. suffisso il nome effettivo con un numero casuale. In questo modo non dovrebbe mai essere lo stesso nome due volte e non dovrebbe essere popolato da IE.

Si potrebbe anche voler dare un'occhiata a cfformprotect. Ha alcune funzionalità eccezionali e mi ha aiutato a proteggere i moduli di presentazione di alcuni progetti.

+0

Grazie, anche io sto cercando di allontanarmi dall'uso di ColdFusion dove sia mai possibile in queste forme, dal momento che questi sono semplicemente siti web di marketing, e al momento, l'unica necessità per CF è aggiungere dati al database del cliente, che presto non sarà necessario . –

5

Come suggerito nella risposta a cui è stato collegato David Faber, provare ad aggiungere lo autocomplete="off" attribute al tag input.

Questo non è un attributo HTML4/XHTML standard, ma tutti i principali browser lo comprendono. E it is standardized in HTML5.

+0

Questo impedirà ancora ai robot di immettere automaticamente dati nel campo? –

+0

Dovrebbe _non_ impedire ai bot di immettere automaticamente dati nel campo, che presumo sia il punto. (Per essere precisi, bloccherà i programmi ben educati, come i browser, che comprendono e rispettano l'attributo 'autocomplete', dal compilare automaticamente il campo.Ma suppongo che i bot che intrappoli siano specificamente quelli che non si comportano bene e rispettano tali istruzioni.) –

+0

grazie mille, ci provo –

0

ecco il mio suggerimento per il tuo honeypot invisibile archiviato: Inserisci autocomplete = tag "off" html a livello di modulo. Mettendolo a livello di campo invisibile stai identificando il tuo bot nascosto e leggermente intelligente, potresti usarlo per riconoscerlo. tag di completamento automatico suportability: http://help.dottoro.com/lhdwgiwh.php È necessario eseguire un controllo tecnico con le versioni di IE di destinazione (è necessario supporto per IE 5 e 6?). Per il nome del campo invisibile, utilizzare come nome comune il più possibile. Per esempio. paese, quindi l'algoritmo di bot lo raccoglierà e lo riempirà di dati.

Saluti, Karlo.