Как я могу предотвратить автоматическое заполнение формы IE в поле honeypot? - PullRequest
6 голосов
/ 29 февраля 2012

Я внедрил поля honeypot в большинстве контактных форм моего клиента, чтобы предотвратить спам. Однако я заметил, что опция автозаполнения формы в IE заполняет поле honeypot и, таким образом, запускает мою логику защиты от спама. Как я могу предотвратить это?

Я пытался присвоить полю формы другое имя - в настоящее время оно называется emailConfirmation, но я пробовал conf_em и liame, и оно все еще заполняется автоматически. Я также попытался переместить поле honeypot в самое нижнее поле формы - нигде рядом с существующим входом email.

Ответы [ 3 ]

5 голосов
/ 29 февраля 2012

Как указано в ответе, на который ссылается Дэвид Фабер, попробуйте добавить атрибут autocomplete="off" к тегу input.

Это не стандартный атрибут HTML4 / XHTML, новсе основные браузеры это понимают.И это является стандартизированным в HTML5 .

1 голос
/ 29 февраля 2012

Дайте вашему полю приманки полуслучайное имя, например.суффикс фактического имени со случайным числом.Таким образом, оно никогда не должно иметь одно и то же имя дважды и не должно заполняться IE.

Возможно, вы также захотите взглянуть на cfformprotect .Он получил несколько замечательных функций и помог мне с защитой представлений форм довольно много проектов.

0 голосов
/ 08 ноября 2012

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

С уважением, Карло.

...