Скрытое поле как альтернатива (повторной) CAPTCHA в приложении ASP.NET MVC2

Я пишу форму «свяжитесь с нами» в веб-проекте, которым я в настоящее время занимаюсь. Хотя я использовал reCAPTCHA в прошлом, для этого проекта я бы предпочел не загромождать интерфейс дополнительными изображениями, полями и т. д.

У многих ли из вас был опыт добавления в форму скрытого поля с именем вроде «first_name». Идея заключалась в том, что если бы поле не было заполнено, отправитель, скорее всего, был бы человеком. Но тогда я спрашиваю, а не будет ли бот проверять, скрыто поле или нет?


person Andy Evans    schedule 21.08.2010    source источник
comment
+1 За то, что учитывали пользовательский опыт   -  person quantumSoup    schedule 22.08.2010


Ответы (4)


Это вполне осуществимо. Боты не очень умны, и их легко обмануть, заполнив эти поля, иногда называемые приманками.

Читать:

person quantumSoup    schedule 21.08.2010
comment
У меня тоже есть такое решение. Просто придерживайтесь этого и помните, что решение никогда не высечено на камне. При необходимости вы всегда можете изменить его, но если этого достаточно, это лучшее (UX) решение. - person Gideon; 29.11.2010

Вместо того, чтобы делать его скрытым полем, не могли бы вы просто скрыть его с помощью CSS?

person Jason    schedule 26.08.2010

Хоть и умный, я бы не стал ставить на это все свои деньги. Даже более общие боты, не ориентированные на определенный сайт, можно легко переписать так, чтобы они пропускали скрытые поля (через css или что-то еще). Если капча со скрытыми полями станет популярной, я почти уверен, что боты скоро также будут модифицированы для этого.

В этой статье здесь есть некоторые мысли, которые вы, возможно, захотите рассмотреть.

person koenmetsu    schedule 29.11.2010

Это отличная альтернатива Captcha, не влияющая на удобство использования. Это может быть не на 100% безопасно, но и капча тоже.

Лучше скрыть поле с помощью CSS, чем type=hidden, потому что боты могут очень тривиально распознавать и пропускать поля скрытого типа. Однако обнаружение того, что поле скрыто с помощью CSS, потребует, чтобы бот также анализировал CSS, что, хотя и возможно, требует больше работы. Боты не стремятся взломать каждый сайт. Они просто ищут легкую добычу.

Кроме того, назовите скрытое поле чем-то расплывчатым, например foobar или подобным. Это связано с тем, что браузеры часто автоматически заполняют формы, и если вы назовете его как-то вроде first name, есть большая вероятность, что браузеры заполнят его автоматически.

person xbonez    schedule 23.05.2012