Забудем про 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://ru.wikipedia.org/wiki/Обфускация JS кода с помощью которой вам надо обфуцировать небольшой JS код в хидере..
Спросите вы: А разве сложно его раскодировать?
Отвечаю также: А разве сложно его хорошо криптануть??)))
Это интересно:
Распечатать статью
Вернуться в раздел:
Programming /
Ajax
Реклама: