Русские документы
Ежедневные компьютерные новости RSS rusdoc.ru  Найти :
Новости
Последние поступления
Книжный магазин
  Hardware:
Видеоустройства
Системные платы
Процессоры
Мобильные устройства
Аудиосистема
Охлаждение системы
Накопители информации
КПК и ноутбуки
Телефоны и связь
Периферия
Система
Сети
Разные устройства
 
  Programming:
Web-разработка
Языки программирования
Технологии и теория
Разработка игр
Программная инженерия
 
  Software:
Операционные системы
Windows 7
Базы данных
Обзоры программ
Графика и дизайн
   
  Life:
Компьютерная жизнь
Разные материалы
   
Партнеры
Публикация
Правовая информация
Реклама на сайте
Обратная связь
Экспорт в RSS Экспорт в RSS2.0
    Читать в Яндекс.Ленте



Забудем про 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


Реклама:
Читать наc на:

Add to Google
Читать в Яндекс.Ленте






Rambler's Top100
© Copyright 1998-2012 Александр Томов. All rights reserved.