Здравствуйте, Alex.
Вы писали 11 июня 2009 г., 20:38:13:
11.06.2009 17:46, Денис Бабичев wrote:
[...]
Есть директива valid_referers, но она работает наоборот. Т.е.
блокирует доступ к сайту, все кроме заданных.
А мне нужно блокировать только заданные Referer.
Как это лучше организовать?
set $tmp "1";
if ($invalid_referer){
set $tmp "";
}
if ($tmp){ # пустая строка ~ false
return 403;
}
Не пойму в чем суть?
Заводить еще одну переменную, чтобы потом её проверить.
Суть - сделать переменную $tmp, а фактически - $valid_referer, инвертировав значение
$invalid_referer. not в if в nginx пока не присутсвует, если верить
http://sysoev.ru/nginx/docs/http/ngx_http_rewrite_module.html#if, поэтому приходится вот
так изголяться для того, чтобы внутри if($tmp) были действия именно для тех запросов,
которые пришли с valid_referers.