Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Как реврайтом проверить реферер?
цитата
26/11/09 в 18:36
 DG
Коллеги, у кого под рукой есть примеры или знания в голове icon_smile.gif подскажите плиз как средствами mod_rewrite блокировать http-запрос к php-скрипту, если http_referer не содержит http_host?

Пример:
есть скрипт /aaa/bbb.php
к нему выполняются запросы вида /aaa/bbb.php?a=b&c=d&...

Нужно блокировать такие запросы, если в строке HTTP_REFERER не содержится хоста (то есть если реферер пустой или ошибочный). А если содержится, то пропускать просто игнорируя данное правило.

Как?
цитата
27/11/09 в 07:53
 Boffin
Код:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !^http://domain1.com [NC]
RewriteCond %{HTTP_REFERER} !^http://domain2.com [NC]
RewriteRule ^.*$ http://google.com/ [R,L]


если реферер не пустой и если он не domain1, domain2, то редиректить на гугл.
цитата
27/11/09 в 11:55
 DG
Boffin писал:
если реферер не пустой и если он не domain1, domain2
Boffin, спасибо, это я в мануале нашёл, мне нужно больше icon_cool.gif
Мне нужно в условие именно содержимое переменной окружения http_host прописать, чтобы не прописывать текущий домен ручками на каждом сайте. Доменов много.


Эта страница в полной версии