Русские документы
Ежедневные компьютерные новости 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.