Русские документы
Ежедневные компьютерные новости RSS rusdoc.ru  Найти :
http://www.rusdoc.ru. Версия для печати.

Забудем про captcha

Раздел: Programming / Ajax @ 01.05.2008 | Ключевые слова: ajax jquery captcha

Источник: habrahabr

[Intro]

С недавнего времени я начал изучать AJAX библиотеку jQuery..
На мой взгляд это лучшая, удобная и легкая либа для AJAX...
Прочитав некоторые статьи, доки по либе я решил сделать так, чтобы пользователям на вашем сайте не пришлось смотреть на закорюченные символы



[Start]
Имеем форму:
<form method="post" id="xek">
Text: <input type="text" name="text" /><br/>
<input type="submit" name="sub" value="Ok" />
</form>


Ну тут роботу ничего не стоит как отправлять POST запросы text=ss,sub=Ok на наш скрипт...

А если добавить через js некую форму.....
В хидере( Между и ) страницы напишем следующее:
<script src="jquery-1.2.3.pack.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$.get("md5.php",function(hash)
{
$("#xek").append(`<input type="hidden" name="code" value="`+hash+`" />`);
});
});

В этом коде мы делаем GET запрос (сразу при загрузке страницы с формой) к файлу md5.php, получаем оттуда данные и jQuery сам вставляет новый инпат в нашу форму на странице, но исходный код страницы при этом не изменяется..

в md5.php мы можем выводить допустим такое:
echo md5($_SERVER[`REMOTE_ADDR`].`xekxek`);
?>


Тем самым если робот будет отправять пост запросы через обычную форму, то скрипт его не пропустит, потому что проверить робот это или нет можно след.кодом:
if(!isset($_POST[`hash`]) || $_POST[`hash`] != md5($_SERVER[`REMOTE_ADDR`].`xekxek`)) echo `You are not human`;
?>


Вы скажите, а что сложного человеку посмотреть JS код, узнать файл md5.php и ботом сначала парсить инфу оттуда?

Ну так существует ведь http://www.rusdoc.ru/go.php?http://ru.wikipedia.org/wiki/Обфускация JS кода с помощью которой вам надо обфуцировать небольшой JS код в хидере..

Спросите вы: А разве сложно его раскодировать?
Отвечаю также: А разве сложно его хорошо криптануть??)))



Вернуться в раздел: Programming / Ajax
© Copyright 1998-2012 Александр Томов. All rights reserved.