ПРОЕКТЫ 


  АРХИВ 


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]

Re: Защита картинок от прямого скачивания



On Wed, Oct 21, 2009 at 04:09:35PM +0400, Евгений Осипов wrote:

> ОС: Windows Server
> NGINX Fronted
> Apache BackEnd
> 
> Имеется следующий конфиг:
> 
>     worker_processes  1;
>     error_log  D:/Server/Nginx/logs/error.log;
> 
>     events {
>         accept_mutex  off;
>         }
> 
> 
>     http {
>         include       mime.types;
>         default_type  application/octet-stream;
> 
>         log_format main '$remote_addr - $remote_user [$time_local]
>     $request '
>             '"$status" $body_bytes_sent "$http_referer" '
>             '"$http_user_agent" "$http_x_forwarded_for"';
> 
>         sendfile        on;
>         keepalive_timeout 0;
> 
>         gzip  on;
>         gzip_min_length 1100;
>         gzip_buffers 64 8k;
>         gzip_comp_level 3;
>         gzip_http_version 1.1;
>         gzip_proxied any;
>         gzip_types text/plain application/xml application/x-javascript
>     text/css;
> 
> 
>         server {
>             listen       80;
>             server_name  tvorite.ru www.tvorite.ru;
>             #access_log off;
>             #error_log off;
>             access_log  D:/Server/Nginx/logs/access_tvorite.log;
>             error_log  D:/Server/Nginx/logs/error_tvorite.log;
> 
>         # Main location
>             location / {
>             root   D:/Server/Apache/htdocs;
>             index  index.php;
>             client_max_body_size  200M;
>             client_body_buffer_size    16k;
>             proxy_pass http://127.0.0.1:81;
>             proxy_set_header Host $host;
>             proxy_set_header X-Real-IP $remote_addr;
>             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>             }
> 
>             # Static files location
>             location ~*
>     
> ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$
>     {
>             root   D:/Server/Apache/htdocs;
>             expires      30d;
>             }
> 
>         }
> 
> Когда добавляю следующую строчку в конфиг:
> 
>     location ~ \.(jpg|gif|png)$ {
>         valid_referers none blocked server_names ~\.google\. images.yandex.ru;
>       if ($invalid_referer) {
>           rewrite ^(.*)$ /img/invalid_referer.png redirect;
>       }
>     }
> 
> изображения вообще пропадают.
> 
> Что я делаю не так?

   root   D:/Server/Apache/htdocs;
можно вынести на на уровень сервера или добавить в
"location ~ \.(jpg|gif|png)$".

Из
     location ~* ^.+\.(jpg|jpeg|gif|png|...
нужно убрать "jpg|gif|png".


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.