Реализация капчи в среде веб-сервиса REST без сохранения состояния - PullRequest
3 голосов
/ 16 февраля 2009

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

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

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

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

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

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

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

1 Ответ

1 голос
/ 16 февраля 2009

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

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

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

...