Внедрение captcha в среде веб-службы REST без состояния

StackOverflow https://stackoverflow.com/questions/552204

  •  23-08-2019
  •  | 
  •  

Вопрос

Проект, над которым я работаю, представляет собой фрагмент статического HTML с некоторым встроенным JavaScript, который будет вызывать веб-сервис REST, который я создаю сам, используя .NET 3.5 WCF.

JavaScript получит некоторые данные от пользователя, включая адрес электронной почты, затем отправит эти данные веб-сервису через Ajax.Затем веб-сервис сохранит информацию в базе данных.

Поскольку это веб-сервис, я почти уверен, что он будет без состояния.

Однако требованием к проекту является то, что интерфейсный JavaScript также должен выполнять captcha, чтобы предотвратить рассылку спама.

Сам сайт будет работать всего несколько недель (максимум 6 недель), и я не думаю, что этого времени хватит потенциальным злоумышленникам, чтобы всерьез взяться за отключение сайта.

По этой причине я рассмотрел возможность создания полностью клиентской captcha, поскольку традиционная captcha требует сеансов с отслеживанием состояния.

Однако мне любопытно узнать, какие меры безопасности обычно были бы реализованы в среде без состояния, или если кто-нибудь думает, что я ошибаюсь относительно достаточной проверки captcha на стороне клиента.

Это было полезно?

Решение

Возможно, вам даже не понадобится КАПЧА.Многие спам-клиенты слишком тупы, чтобы выполнять такие вещи, как Javascript.Вы могли бы попробовать просто установить скрытый ввод на некоторое значение в Javascript.

Если ваш сайт работает всего несколько недель, то я сомневаюсь, что кто-нибудь создал бы клиент, который смог бы обойти это.

Тем не менее, это испортило бы пользователей без Javascript, поэтому я бы рекомендовал вывести на экран сообщение, которое удаляет Javascript.Это было бы то же поле ввода, но в виде флажка с надписью, которая объясняет, что им нужно установить флажок, чтобы его не игнорировали.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top