ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

запрет докачки в зависимо сти от URI


  • To: nginx-ru@xxxxxxxxx
  • Subject: запрет докачки в зависимо сти от URI
  • From: "AterCattus" <nginx-forum@xxxxxxxx>
  • Date: Wed, 19 May 2010 11:08:13 -0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=XmOn6RgFXJ/gKgR4CljsQQXugAwhSr3dIfPDsRzZogM=; b=fj3HzqTc0KGuq+0EBIbtX11JY+Et50+8XjqzVqLJX5kyxxhLYpNeY6bEn4pEprR3Uaa0j88E5vO6QZQ6DmN4ihnH+O7f06/W6HVkKDBoBA2Kzynx7jsZ9TqhJB7nDY26;

Доброго времени суток.

Не удается решить проблему настройки сервера на запрет докачки статических 
файлов в том случае, когда в URI не содержится $remote_addr.

Важно именно наличие $remote_addr в URI (проверка регуляркой) и фактом того, то 
данный запрос является докачкой (есть заголовок Range со стартовым байтом 
большим нуля). Если не докачка, то наличие $remote_addr роли не играет.

Логика примерно следующая (не работает само собой):

[code]
location ~ /foobar/ {
   if ($http_accept_ranges) { [i]# запрос с докачкой[/i]
      rewrite '^(/foobar/.+/){$remote_addr}/(.+)$' $1$2 break; [i]# если есть 
нужный IP - редирект на файл. кроме прочего проблема, что $ в имени переменной 
идет как конец регулярки [/i]
      return 403; [i]# запрет докачки из-за несовпадающего IP[/i]
   }
   rewrite '^(/foobar/.+/)[^/]+/(.+)$' $1$2 break; [i]# качается от начала, 
какой там IP - не важно[/i]
}
[/code]

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,88166,88166#msg-88166


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.