2010-03-11 2 views
2

Я ищу контроль над открытым кодом с открытым кодом для форм asp.net. Мы хотим избежать использования ReCaptcha, потому что наши решения развертываются в корпоративных средах, где они более ограничительны.Любые элементы управления, не поддерживающие ReCaptcha, доступны для .net

В идеале хотел был бы разрешить решение, не позволяющее серверам звонить.

Любые идеи?

+2

Не существует ли какое-либо решение, которое не будет иметь проблем с сервером, так как ответ на капчу будет присутствовать на клиенте в какой-то форме? – Emmanuel

ответ

0

Я не знаю, является ли это пуленепробиваемым как ReCaptcha, но, возможно, следующее соответствует вашим потребностям.

Вы только хотите использовать своего рода ReCaptcha в форме, в которой вы хотите отправить ввод. Из кода позади вы можете создать ярлык типа «Сколько стоит 11 + 1». «11 + 1» вы создаете каждый раз, когда страница загружается. Сумма, которую вы сохраняете в viewstate/session, чтобы вы могли получить к ней доступ в момент, когда пользователь отправляет страницу. Пользователь должен придумать сумму «11 + 1» в этом примере и заполнить ее с помощью текстового поля. При проверке submit вы можете легко сравнить значение текстового поля со значением суммы, сохраненной вами в viewstate/session.

Если вы хотите сделать валидацию на стороне клиента, вы можете сделать расчетную сумму доступной в скрытом поле или что-то еще, что вам подходит.

Боты, что вы боитесь, когда начинаете использовать ReCaptcha, не знаете, что искать, поскольку результат суммы отличается при каждом загрузке страницы. На мой взгляд, почти как пуленепробиваемый как ReCaptcha и более простой в использовании для пользователя вашего приложения.

+0

Это похоже на то, что делает Subkismet, за исключением того, что он запрашивает Javascript для математики, идея состоит в том, что автоматические спам-боты не будут оценивать Javascript. См. Http://www.codeplex.com/subkismet и статьи Фила Хаака, связанные с ним ... – rohancragg

0

Я согласен с комментарием Эммануэля о том, что требуется какой-либо серверный вызов, чтобы избежать всей логики, находящейся на странице, ожидающей взлома.

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

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

Простой контроль, который вы могли бы попробовать, это MyCaptcha.

Коммерческий вариант, который вы можете рассмотреть, - от DevExpress, они также предоставляют some nice background research об истории и состоянии дел в Captcha в более общем плане.

1

Вы можете найти решение, что вы ищете здесь:

http://cks.codeplex.com/releases/view/7675 (Вы можете повторно использовать этот код, но изменить его немного.)

или здесь:

http://www.codeproject.com/KB/custom-controls/CaptchaControl.aspx

или здесь:

http://social.msdn.microsoft.com/Forums/en-US/sharepointcustomization/thread/73de3ff4-b919-47f0-a761-8a4ca875f06f

или здесь:

http://mycaptcha.codeplex.com/

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

Удачи!

+0

+1 CaptchaControl –

0

Вы можете попробовать MSCaptcha. Это бесплатное и удобное приложение

Смежные вопросы