2012-02-29 11 views
6

Mam wdrożone pola honeypot na większości formularzy kontaktowych mojego klienta, aby zapobiec spamowaniu. Jednak zauważam, że opcja automatycznego wypełniania formularzy IE wypełnia pole honeypot, a zatem uruchamia moją logikę antyspamową. Jak mogę temu zapobiec?W jaki sposób mogę zapobiec automatycznemu wypełnianiu formularza IE przed wypełnieniem pola honeypsu?

Próbowałem nadać polu formularza inną nazwę - obecnie nazywa się emailConfirmation, ale wypróbowałem conf_em i liame i nadal jest ono automatycznie uzupełniane. Próbowałem także przenieść pole honeypów na samo dno formularza - nigdzie w pobliżu istniejącego wejścia email.

+0

czy pole jest niewidoczne? Jeśli tak, nie widzę powodu, dla którego IE automatycznie je wypełniał. Jeśli nie, to co to "honeypot" na ten temat? –

+0

Tak, pole w ukrytym SPANzie (css: 'display: none'), to jest to pole honeypot - ukryte pole, którego boty nie znają, jest ukryte, więc wypełnia je. Ale IE * IS * Automatyczne wypełnianie. –

+0

Tak, po prostu nie mogłem uwierzyć, że IE jest tak głupi. Jaki sens ma wypełnienie ukrytego pola? :/ –

Odpowiedz

1

Podaj swoje pole honeypów jako półprzypadkową nazwę, np. suffix rzeczywistą nazwę z losową liczbą. W ten sposób nigdy nie powinna być taka sama nazwa dwa razy i nie powinna być wypełniana przez IE.

Możesz również chcieć rzucić okiem na cfformprotect. Ma kilka świetnych funkcji i pomógł mi w ochronie zgłoszeń w formie kilku projektów.

+0

Dzięki, staram się także odejść od używania ColdFusion, gdzie tylko jest to możliwe w tych formach, ponieważ są to po prostu marketingowe strony internetowe, a teraz jedyną potrzebą CF jest dodawanie danych do bazy danych klienta, co wkrótce nie będzie konieczne . –

5

Zgodnie z sugestią udzieloną przez Davida Fabera, spróbuj dodać autocomplete="off" attribute do znacznika input.

Nie jest to standardowy atrybut HTML4/XHTML, ale wszystkie główne przeglądarki go rozumieją. I it is standardized in HTML5.

+0

Czy to powstrzyma roboty przed automatycznym wprowadzaniem danych do pola? –

+0

Nie powinno to zatrzymywać robotów przed automatycznym wprowadzaniem danych do pola, co, jak sądzę, jest celem. (Mówiąc dokładniej, zatrzyma ona dobrze zachowane programy, takie jak przeglądarki, które rozumieją i respektują atrybut "autouzupełniania", od automatycznego wypełniania pola.Ale zakładam, że boty, które chcesz przechwycić, to te, które nie zachowują się ładnie i przestrzegają takich instrukcji.) –

+0

wielkie dzięki, spróbuję –

0

Oto moja propozycja dla twojego niewidocznego pliku honeyp: Umieść autocomplete = "off" znacznik html na poziomie formularza. Umieszczenie go na niewidocznym poziomie pola, w którym identyfikujesz ukryty, spakowany i nieznacznie inteligentny bot, może go użyć, aby go rozpoznać. suportowość tagów autocomplete: http://help.dottoro.com/lhdwgiwh.php Powinieneś sondować technicznie z docelowymi wersjami IE (czy potrzebujesz pomocy IE 5 i 6?). Aby nazwa niewidocznego pola była jak najczęstsza nazwa. Na przykład. kraju, więc algorytm bota podniesie go i wypełni danymi.

Pozdrawiam, Karlo.

Powiązane problemy