Как мога да предотвратя автоматичното попълване на формуляр в IE от попълване на поле honeypot?

Внедрих honeypot полета в по-голямата част от формулярите за контакт на моя клиент, за да предотвратя спам. Забелязвам обаче, че опцията за автоматично попълване на формуляр на IE попълва полето honeypot и по този начин задейства моята анти-спам логика. Как мога да предотвратя това?

Опитах се да дам друго име на полето на формуляра - в момента се нарича emailConfirmation, но опитах conf_em и liame и все още се попълва автоматично. Също така се опитах да преместя полето honeypot в най-долната част на формуляра - никъде близо до съществуващия вход email.


person Eric Belair    schedule 29.02.2012    source източник
comment
полето невидимо ли е? Ако да, не виждам защо IE ще го попълва автоматично. Ако не, тогава какво му е това?   -  person Niklas B.    schedule 29.02.2012
comment
Да, полето в SPAN, което е скрито (css: display: none), това е полето honeypot – скрито поле, което ботовете не знаят, че е скрито, така че го попълват. Но IE Е автоматично попълване.   -  person Eric Belair    schedule 29.02.2012
comment
Да, просто не можех да повярвам, че IE е толкова глупав. Какъв е смисълът да се попълва скрито поле? :/   -  person Niklas B.    schedule 29.02.2012
comment
Извинявам се, това е поле за въвеждане на текст, което е скрито с CSS. Това НЕ е type="hidden" вход.   -  person Eric Belair    schedule 29.02.2012
comment
Това имах предвид. <input type="text" /> с display: none или visibility: hidden. Няма абсолютно никакъв смисъл да се пълни.   -  person Niklas B.    schedule 29.02.2012
comment
Мисля, че на следващата страница има някои добри съвети как да избегнете това: деактивирайте автоматичното довършване   -  person David Faber    schedule 29.02.2012
comment
Другата мисъл, която идва на ум е, че можете да имате дадена стойност за това поле honeypot и да проверите тази стойност. Или бот въвежда стойност само когато няма стойност в полето?   -  person David Faber    schedule 29.02.2012


Отговори (3)



Дайте полуслучайно име на полето си с меден съд, напр. суфикс на действителното име с произволно число. По този начин никога не трябва да бъде едно и също име два пъти и не трябва да се попълва от IE.

Може също да искате да разгледате cfformprotect. Той има някои страхотни функции и ми помогна да защитя изпратените формуляри на доста проекти.

person Stephen Moretti    schedule 29.02.2012
comment
Благодаря, аз също се опитвам да се отдалеча от използването на ColdFusion, когато е възможно в тези форми, тъй като това са просто маркетингови уебсайтове и в момента единствената нужда от CF е добавянето на данни към базата данни на клиента, което скоро няма да е необходимо. - person Eric Belair; 29.02.2012

ето моето предложение за вашия невидим honeypot файл: Поставете autocomplete="off" html таг на ниво формуляр. Поставяйки го на ниво невидимо поле, вие идентифицирате вашето скрито поле и леко интелигентен бот може да използва това, за да го разпознае. Поддържане на маркер за автоматично довършване: http://help.dottoro.com/lhdwgiwh.php Трябва да проверите технически с вашите целеви версии на IE (имате ли нужда от поддръжка на IE 5 и 6?). За името на вашето невидимо поле използвайте възможно най-обикновено име. напр. държава, така че алгоритъмът на бот ще го вземе и ще го напълни с данни.

Поздрави, Карло.

person Karlo Smid    schedule 08.11.2012