Free_head: мы же счас говорим про крупные проекты .. где, по моему мнению, использование готовых движков не всегда оправдано !!!
Истину глаголите :)
Готовый движок - это универсальное средство, со всеми вытекающими плюсами и минусами (как правило главный минус - потребление ресурсов сервера).
deedee: Знаком с одним программером-студентом в америке, дак вот он действиетльно освоил язык за пару дней, более того потом навалял довольно мощную систему за несколько часов. Правда потом полезли глюки и переписывали все на пхп.
Подозреваю, что глюки полезли не из-за кривости Ruby, а из-за недостаточных навыков программиста :)
А что именно подсказывать? Поместите в один файл содержимое файлов /main/topframe.htm и /main/main1.shtml и залейте его вместо главной страницы. В чем проблема?
d1ma: Можно сделать блокировку в .htaccess по комбинации критериев маска ip & user agent, причем без mod_access и mod_setenvif, так я думаю оптимально будет:
Вы правы,в моем случае это самое оптимальное решение. Но возникла техническая проблема - перед Апачем у меня стоит Nginx, поэтому REMOTE_ADDR показывает локальный адрес сервера, а HTTP_X_FORWARDED_FOR и HTTP_X_REAL_IP mod_rewrite не видит. Кто-нибудь знает как обойти эту проблему?
Pol Fransheski: Сложилось впечетление что Данное действо происходит уже продолжительное время.
Появляется периодически. Пару дней грабит, потом неделю тишина. Впервые появился около месяца назад. Сейчас заблокировал несколько адресов, тишина.
Pol Fransheski: Сколько же у вас на сайте страниц?
Год назад было около 300к, потом перестал считать.
Pol Fransheski: Может быть имеет место не граб. а чтото типа досса?
Для ддоса слишком тупой алгоритм. Сегодня сервер загрузился на 45-50% (обычно в это время нагрузка ~10%), на скорости отдачи страниц посетителям это почти не повлияло. Кроме того, грабер подставляет в Referer адрес страницы, на которой была найдена ссылка.
Николай В., все зависит оттого, по каким полям будет вестись поиск и как часто будет обновляться структура и сами данные. уточните этот момент.
Можно организовать ссылку на внутреннюю страницу second.shtml (уже во врейме) таким образом:
- на главной странице стоит ссылка на second.phtml (расширение может быть любое, главное чтобы не shtml, как у существующих файлов)
- в .htaccess правила типа
- в файле frame.php
Такая система скорее всего поможет вам решить проблему, но при этом изменятся адреса некоторых страниц, что не очень хорошо с точки зрения SEO.
Проще в вашем избавиться от фреймов (например, с помощью PHP).
мы же счас говорим про крупные проекты .. где, по моему мнению, использование готовых движков не всегда оправдано !!!
Истину глаголите :)
Готовый движок - это универсальное средство, со всеми вытекающими плюсами и минусами (как правило главный минус - потребление ресурсов сервера).
Знаком с одним программером-студентом в америке, дак вот он действиетльно освоил язык за пару дней, более того потом навалял довольно мощную систему за несколько часов. Правда потом полезли глюки и переписывали все на пхп.
Подозреваю, что глюки полезли не из-за кривости Ruby, а из-за недостаточных навыков программиста :)
Ну сделал я это, а как мне ссылаться на внутрение страницы?
Есть PHP и mod_rewrite?
никто не подскажет? ...
А что именно подсказывать? Поместите в один файл содержимое файлов /main/topframe.htm и /main/main1.shtml и залейте его вместо главной страницы. В чем проблема?
в nginx пока нет вложенных if
но есть такой хак
Спасибо.
По моему защищаться отслеживая заголовки - неэффективно, что мешает скрипту слать любой юзер-агент?
В моем случае user_agent постоянный, поэтому чем проще защита - тем лучше. А вообще идея ясна, спасибо.
Если что название переменных окружения можно уточнить в phpinfo.
в PHPINFO они есть, но условия не проходят, ни с HTTP:, ни без него :(
Вопрос к знатокам nginx - как будут выглядеть аналогичные выражения для nginx'а?
Можно сделать блокировку в .htaccess по комбинации критериев маска ip & user agent, причем без mod_access и mod_setenvif, так я думаю оптимально будет:
Вы правы,в моем случае это самое оптимальное решение. Но возникла техническая проблема - перед Апачем у меня стоит Nginx, поэтому REMOTE_ADDR показывает локальный адрес сервера, а HTTP_X_FORWARDED_FOR и HTTP_X_REAL_IP mod_rewrite не видит. Кто-нибудь знает как обойти эту проблему?
надо ограничнить пользователей в коэфициенте число запросов в единицу времени
Ограничивать всех посетителей не хочется (сам часто открываю в фоновом режиме несколько страниц).
на уровне iptables для этого есть модули connlimit и iplimit
В iptables можно блокировать посетителей с определенного диапазона адресов и определенного user_agent?
один раз мне эту задачу пришлось решать и на shared хостинге - пришлось написать парсер логов на пхп и поставить его в крон
И что делали с этим дальше?
Сложилось впечетление что Данное действо происходит уже продолжительное время.
Появляется периодически. Пару дней грабит, потом неделю тишина. Впервые появился около месяца назад. Сейчас заблокировал несколько адресов, тишина.
Сколько же у вас на сайте страниц?
Год назад было около 300к, потом перестал считать.
Может быть имеет место не граб. а чтото типа досса?
Для ддоса слишком тупой алгоритм. Сегодня сервер загрузился на 45-50% (обычно в это время нагрузка ~10%), на скорости отдачи страниц посетителям это почти не повлияло. Кроме того, грабер подставляет в Referer адрес страницы, на которой была найдена ссылка.