Kpd

Рейтинг
295
Регистрация
12.07.2006

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

Можно организовать ссылку на внутреннюю страницу second.shtml (уже во врейме) таким образом:

- на главной странице стоит ссылка на second.phtml (расширение может быть любое, главное чтобы не shtml, как у существующих файлов)

- в .htaccess правила типа

RewriteEngine on 

# Останавливаем обработку существующих страниц
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule .* - [L]
# Подставляем фрейм
RewriteRule ^(.*)\.phtml frame.php?url=$1

- в файле frame.php

<html>

<head>
<title>Site</title>
</head>
<frameset border="0" frameborder="0" framespacing="0" rows="33,*">
<frame scrolling="no" name="index" src="/main/topframe.htm" marginwidth="0" marginheight="0" target="screen" noresize>
<frame scrolling="auto" name="screen" src="/main/<? echo $url ?>.shtml" marginwidth="0" marginheight="0" target="_self">
</frameset>
<body>
пустота
</body>
</html>

Такая система скорее всего поможет вам решить проблему, но при этом изменятся адреса некоторых страниц, что не очень хорошо с точки зрения SEO.

Проще в вашем избавиться от фреймов (например, с помощью PHP).

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

Истину глаголите :)

Готовый движок - это универсальное средство, со всеми вытекающими плюсами и минусами (как правило главный минус - потребление ресурсов сервера).

deedee:
Знаком с одним программером-студентом в америке, дак вот он действиетльно освоил язык за пару дней, более того потом навалял довольно мощную систему за несколько часов. Правда потом полезли глюки и переписывали все на пхп.

Подозреваю, что глюки полезли не из-за кривости Ruby, а из-за недостаточных навыков программиста :)

zews:
Ну сделал я это, а как мне ссылаться на внутрение страницы?

Есть PHP и mod_rewrite?

zews:
никто не подскажет? ...

А что именно подсказывать? Поместите в один файл содержимое файлов /main/topframe.htm и /main/main1.shtml и залейте его вместо главной страницы. В чем проблема?

Roxis:
в nginx пока нет вложенных if
но есть такой хак

Спасибо.

Zlo_606ep:
По моему защищаться отслеживая заголовки - неэффективно, что мешает скрипту слать любой юзер-агент?

В моем случае user_agent постоянный, поэтому чем проще защита - тем лучше. А вообще идея ясна, спасибо.

d1ma:
Если что название переменных окружения можно уточнить в phpinfo.

в PHPINFO они есть, но условия не проходят, ни с HTTP:, ни без него :(

Вопрос к знатокам nginx - как будут выглядеть аналогичные выражения для nginx'а?

d1ma:
Можно сделать блокировку в .htaccess по комбинации критериев маска ip & user agent, причем без mod_access и mod_setenvif, так я думаю оптимально будет:

Вы правы,в моем случае это самое оптимальное решение. Но возникла техническая проблема - перед Апачем у меня стоит Nginx, поэтому REMOTE_ADDR показывает локальный адрес сервера, а HTTP_X_FORWARDED_FOR и HTTP_X_REAL_IP mod_rewrite не видит. Кто-нибудь знает как обойти эту проблему?

d1ma:
надо ограничнить пользователей в коэфициенте число запросов в единицу времени

Ограничивать всех посетителей не хочется (сам часто открываю в фоновом режиме несколько страниц).

d1ma:
на уровне iptables для этого есть модули connlimit и iplimit

В iptables можно блокировать посетителей с определенного диапазона адресов и определенного user_agent?

d1ma:
один раз мне эту задачу пришлось решать и на shared хостинге - пришлось написать парсер логов на пхп и поставить его в крон

И что делали с этим дальше?

Pol Fransheski:
Сложилось впечетление что Данное действо происходит уже продолжительное время.

Появляется периодически. Пару дней грабит, потом неделю тишина. Впервые появился около месяца назад. Сейчас заблокировал несколько адресов, тишина.

Pol Fransheski:
Сколько же у вас на сайте страниц?

Год назад было около 300к, потом перестал считать.

Pol Fransheski:
Может быть имеет место не граб. а чтото типа досса?

Для ддоса слишком тупой алгоритм. Сегодня сервер загрузился на 45-50% (обычно в это время нагрузка ~10%), на скорости отдачи страниц посетителям это почти не повлияло. Кроме того, грабер подставляет в Referer адрес страницы, на которой была найдена ссылка.

Всего: 3951