Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Как защитить сайт от автограббинга


Автор: AzuManga 14.11.2007, 01:14
Привет!

Я смотрел пост http://forum.vingrad.ru/topic-147496.html , но ничего по делу там не нашел 8)

Нужно защитить сайт от тотального притыривания. Сайт по сути похож на http://avantix.ru/ . Там, кстати, применяется какая-то грамотная система, предохраняющая от воровства всей базы и даже от доступа к выдаче результатов.

Как я понял, сначала формируется обычный гет-запрос, но на страницу предзагрузки результатов. Затем, судя по всему, внутри системы формируется некий идентификатор, по которому и выдается список маршрутов.

Если кто-то делал что-то похожее или более простое, но такое же действенное — расскажите, пожалуйста, как 8)

Спасибо!

Автор: BuShaRt 14.11.2007, 10:43
AzuManga, 
Relax, твою БД не кто не притарит, если не взломают сайт конечно.

А защита от парсинга, это как имунитет от гриппа. Переболел одной формой - получил имунитет, но все равно рескуешь заболеть другой формой... Вообще это безконечная борьба и есть возможность привиться от стандартного набора форм гриппа - не более.

Автор: mishaSL 14.11.2007, 11:26
Если хотите защитить от парсинга результаты какого-либо поиска, то сделайте вывод результатов через AJAX. Это поможет защитить от стандартных парсеров, но если кому-то сильно понадобится, то и такой вариант можно распарсить... smile 

Автор: capitan 14.11.2007, 12:34
mishaSL, под AJAX сделать парсер ещё проще, т.к. он и выводит обычно нужную инфу. Отсекать ненужное даже не придётся. И пути его обращения всегда можно посмотреть.

Автор: mishaSL 14.11.2007, 13:16
Цитата(capitan @  14.11.2007,  12:34 Найти цитируемый пост)
т.к. он и выводит обычно нужную инфу. Отсекать ненужное даже не придётся. И пути его обращения всегда можно посмотреть. 

Не уверен что мы говорим об одном и том же...
AJAX выведет нужную информацию через JavaScript в какой-нибудь элемент страницы... А то что всегда можно посмотреть пути и эти пути дадут что-то вразумительное, это вы ошибаетесь...

Автор: capitan 14.11.2007, 13:25
Код

JsHttpRequest.query(
            '../../ajax/statistic.php', // это мы увидим полюбому
            {
                // path a file to be uploaded
                'user_id': data
            },
            // Function is called when an answer arrives.
            function(result, errors) {
                // Write errors to the debug div.
                document.getElementById('stat').innerHTML = errors;
            },
            true  // do not disable caching
        );


а какие данные передавать, тоже определить не проблема.


Автор: mishaSL 14.11.2007, 13:42
capitan, вот пример:
http://www.peter-ecodom.ru/calculation/6/
Расчет происходит с помощью Ajax.
Но так просто это не спарсить. Если я не прав, то покажи как.

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

Автор: capitan 14.11.2007, 13:52
mishaSL,  Думаю Вы согласны, что парсеры(граберы) парсят в основном новости или статьи с других сайтов, чтобы потом их выдать за свои. Я не думаю, что кто-то захочет парсить этот калькулятор. А новости выводятся просто из базы. smile 

Автор: mishaSL 14.11.2007, 19:16
capitan, просто автор темы насколько я понимаю хочет защитить базу тарифов на авиаперезозки. Эти тарифы отображаются только при поиске - по-этому я и предложил такой вариант.
А то парсинга статей и новостей ничего не поможет, т.к. если и грузить их все через ajax, то поисковики будут на это плохо реагировать...

Автор: BuShaRt 15.11.2007, 19:19
Цитата(capitan @  14.11.2007,  13:52 Найти цитируемый пост)
А новости выводятся просто из базы.  

Что за бред? 


Автор: capitan 16.11.2007, 14:38
Цитата(BuShaRt @ 15.11.2007,  19:19)
Цитата(capitan @  14.11.2007,  13:52 Найти цитируемый пост)
А новости выводятся просто из базы.  

Что за бред?

Сейчас уже новости никто не хранит в текстовых файлах, а хранят в базе, откуда потом и выводят их на сайт простым SELECT'om. А вы про какой бред говорите?

Автор: AzuManga 11.12.2007, 18:54
mishaSL,  а защищенность на сайте с калькулятором окон заключается в поле xajaxr    1197388211218 ??

Или фишка в чем-то другом?

Спасибо за ответы!))

Автор: Feldmarschall 11.12.2007, 19:04
mishaSL, а в чем проблема конкретно? В том, чтобы получить этот XML или в том, чтобы его пропарсить?
мне кажется, что capitan прав - XHTML парсить куда проще, чем HTML.

А по поводу новости прямо и збазы - это классический случай, когда оба говорят об одном и том же, но не поняли друг друга и начали спорить.


AzuManga, как говорил мой учитель, "не нужно бояться, что у тебя украдут контент. нужно уметь им распорядиться и привлечь пользователя". Если ты сможешь это - конкуретны тебе не страшны. Не сможешь - обойдут все равно, с твоей ли базой, или без неё.

Автор: BuShaRt 12.12.2007, 10:31
Feldmarschall, 
Твой Учитель, несказанно прав... 

Автор: Fally 12.12.2007, 14:52
Сделайте таблицу с IPшниками, с которых обращались к странице, и если вдруг с определённый промежуток времени (10, 15, ... секунд) к странице обратились более заранее определённого количества раз, то бан на определённое время. Бан выставляйте всеми возможными способами.

Автор: Feldmarschall 12.12.2007, 15:07
А вот, кстати, да.
Таймаут - один из самых эффективных способов борьбы с подбором паролей - может помочь и здесь.
причем вариантов можно придумать массу. Начиная от привязки к айпишникам и заканчивая привязкой к учетной записи. От блокировки одного пользователяы до общей блокировки всех запросов. Все зависит от конкретной задачи. Ну, и объема базы. Если всю её можно выкачать сотней запросов, то никакой таймаут не поможет

Автор: Fally 12.12.2007, 15:10
Ну таймаут расчитать можно и из объёма информации, т.к. если вадаётся килобайт 100, то естественно, что 1 минута таймаута слишком мала.

Автор: Feldmarschall 12.12.2007, 15:21
Fally, тут нас ожидает другая засада - мы можем так навредить легальному пользователю, что он плюнет и уйдет с ресурса - никакие конкуренты вообще не понадобятся. Так что надо очень осторожно заниматься всякими защитами.

Автор: teroni 12.12.2007, 17:52
А лучше не парьтесь... Кому сильно надо - обойдет любую защиту, а так только нормальным пользователям возможные неудобства причините.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)