Альтернативное решение для CAPTCHA

#c# #asp.net #captcha

#c# #asp.net #captcha

Вопрос:

Могу ли я использовать минимальное время между двумя публикациями от одного и того же пользователя вместо использования captcha? если да, кто-нибудь может привести мне пример?

Комментарии:

1. Что вы подразумеваете под «сообщениями»? Вы пишете программное обеспечение для форума?

2. @zespri он имеет в виду: «не позволяйте пользователям отправлять две обратные отправки страницы за короткое время». Вы нажимаете кнопку дважды, это приведет к двум обратным отправкам, иногда это было вызвано случайным двойным нажатием кнопки. Javascript для отключения кнопки — это один из вариантов, но я предполагаю, что он хочет сделать на стороне сервера.

3. @zespri простой пример: пользователь хочет опубликовать в своем блоге, он заполняет сообщение и нажимает кнопку. Сайт работает медленно, поэтому он нажимает снова, и снова, и снова, теперь это сохранено! Он проверяет свой блог и «черт возьми, там 4 одинаковых поста»

4. @BrunoLM: Никогда не слышал, чтобы кто-нибудь использовал captcha для предотвращения двойных записей…

Ответ №1:

Извлекать элемент управления NoBot в asp.net инструментарий управления ajax

Комментарии:

1. Интересно, что я не смог пройти тест, приведенный на странице примера. Каждый раз меня отвергали как бота. Использование Firefox 4 в довольно стандартной конфигурации (ie. Javascript или cookies не отключены)

Ответ №2:

Отвечая на ваш вопрос, да, это было бы легко сделать, если вы храните записи в базе данных с отметкой времени.

Ответ №3:

Вопрос в том, «насколько важно для вас избегать ботов и спама». Если это не очень важно, вы можете вообще удалить captcha. ИМХО, я не думаю, что «минимальное время» является хорошим показателем «это не бот …»

Ответ №4:

Самый простой способ — задать вопрос пользователю, подобный тривиальному культурному вопросу, а затем проверить ответ. Просмотр времени работает только для предотвращения интенсивного спама, но это не помогает тому факту, что бот не должен иметь возможности что-либо публиковать.

Ответ №5:

Я должен был реализовать что-то подобное — без captcha, но избежать массового спама в форме — со всеми плюсами и минусами. В базе данных мы храним список запросов с отметкой времени, IP-адресом, ключом страницы, идентификатором пользователя и так далее, Мы сравниваем, следует ли запрос за другим запросом в течение заданного периода времени, и если это происходит несколько раз, мы автоматически информируем ит-администраторов. мы также протестировали скрипт для блокировки исходного ip-адреса в брандмауэрах и другие вещи. не знаю, что активировано в данный момент. База данных очень часто очищается от старых записей.

Итак, да, вы можете — либо сохранить в памяти, либо использовать базу данных для хранения информации, необходимой для идентификации запросов / сообщений.