| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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. Это поможет защитить от стандартных парсеров, но если кому-то сильно понадобится, то и такой вариант можно распарсить... |
| Автор: capitan 14.11.2007, 12:34 |
| mishaSL, под AJAX сделать парсер ещё проще, т.к. он и выводит обычно нужную инфу. Отсекать ненужное даже не придётся. И пути его обращения всегда можно посмотреть. |
| Автор: capitan 14.11.2007, 13:25 | ||
а какие данные передавать, тоже определить не проблема. |
| Автор: mishaSL 14.11.2007, 13:42 |
| capitan, вот пример: http://www.peter-ecodom.ru/calculation/6/ Расчет происходит с помощью Ajax. Но так просто это не спарсить. Если я не прав, то покажи как. capitan, я понимаю о чем вы говорите, но я пытаюсь вам показать, что далеко не во всех случаях можно так просто парсить... |
| Автор: capitan 14.11.2007, 13:52 |
| mishaSL, Думаю Вы согласны, что парсеры(граберы) парсят в основном новости или статьи с других сайтов, чтобы потом их выдать за свои. Я не думаю, что кто-то захочет парсить этот калькулятор. А новости выводятся просто из базы. |
| Автор: mishaSL 14.11.2007, 19:16 |
| capitan, просто автор темы насколько я понимаю хочет защитить базу тарифов на авиаперезозки. Эти тарифы отображаются только при поиске - по-этому я и предложил такой вариант. А то парсинга статей и новостей ничего не поможет, т.к. если и грузить их все через ajax, то поисковики будут на это плохо реагировать... |
| Автор: BuShaRt 15.11.2007, 19:19 |
Что за бред? |
| Автор: capitan 16.11.2007, 14:38 | ||
Сейчас уже новости никто не хранит в текстовых файлах, а хранят в базе, откуда потом и выводят их на сайт простым 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 |
| А лучше не парьтесь... Кому сильно надо - обойдет любую защиту, а так только нормальным пользователям возможные неудобства причините. |