#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-адреса в брандмауэрах и другие вещи. не знаю, что активировано в данный момент. База данных очень часто очищается от старых записей.
Итак, да, вы можете — либо сохранить в памяти, либо использовать базу данных для хранения информации, необходимой для идентификации запросов / сообщений.