Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Попытка заблокировать вредоносные переходы, Попытка заблокировать вредоносные перехо 
:(
    Опции темы
comhunt
Дата 24.2.2014, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 20.3.2009

Репутация: нет
Всего: нет



Необходим написать кусок кода .htaccess для сайта www.site.ru находящегося на сервере c ip=xxx.xxx.xxx.xxx, который бы выполнял следующее:
Если переменная окружения REMOTE_ADDR равна адресу xxx.xxx.xxx.xxx и одновременно с этим в переменной HTTP_REFERER отсутствует адрес сайта site.ru, а также HTTP_REFERER не пустой, то тогда сделать форбидден.

Пробовал такую конструкцию. 
RewriteCond %{REMOTE_ADDR} xxx\.xxx\.xxx\.xxx
RewriteCond %{HTTP_REFERER} !^(.*)site.ru(.*)$
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .* – [F]

Не работает а именно выдает форбидден при запросе сайта site.ru напрямую из браузера без перехода со внешнего сайта.

PM MAIL   Вверх
jexerrus
Дата 17.3.2014, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 17.3.2014

Репутация: нет
Всего: нет



странная задача, а в чём вредоносность переходов заключается ?
PM MAIL WWW   Вверх
comhunt
Дата 17.3.2014, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 20.3.2009

Репутация: нет
Всего: нет



Вредоносность переходов заключается в ухудшении поведенческих факторов (уменьшение времени нахождения на странице, глубины просмотра, процента отказов)
PM MAIL   Вверх
jexerrus
Дата 18.3.2014, 07:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 17.3.2014

Репутация: нет
Всего: нет



теперь понял.

попробуйте последнюю строчку заменить на вот эту 

RewriteRule ^(.*)$ – [F]


а вообще - Вы уверены что на данный момент форбидден при запросе сайта выдается изза вашего правила а не изза того что в нем ошибка ?  
ведь когда в htaccess есть ошибки - apache начинает плюваться 403
PM MAIL WWW   Вверх
ИшТы
Дата 13.11.2014, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 8.11.2014

Репутация: нет
Всего: нет



В .htaccess все условия сумируются. Тоесть правило rewrite сработает при выполнении всех условий. Как Вы сами понимаете, одновременно HTTP_REFERER не может быть пустым и иметь значение site.ru. Используйте OR после первого превила:

Код

RewriteCond %{HTTP_REFERER} !^(.*)site.ru(.*)$ [NC,OR]
RewriteCond %{HTTP_REFERER} !^$


jexerrus,

[F] используется для возврата 403-го кода (Forbidden)

Следующая конструкция тоже является верной:
Код

RewriteRule .* – [F]

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




[ Время генерации скрипта: 0.0649 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.