ПРОЕКТЫ 


  АРХИВ 


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: защита ссылок



09.10.2012 21:27, Ar3s пишет:
nginx

server {
         listen 80;
         server_name site.ru;

         access_log  /dev/null;

         location / {
                 root   /var/www/work;
                 index  index.html index.htm index.php;
#                rewrite ^/video/(w+)/(.+)$
/get.php?hash=$1&filename=$2last;
                 rewrite ^/video/(\w+)/(.+)$ /get.php?hash=$1&filename=$2
last;
                 }

#       location /video {
         location ~ ^/video/.*\.flv$ {
                 root /var/www/work;
                 internal;
                 flv;
                 }
         location ~ \.php$ {
                 fastcgi_pass  unix:/tmp/.fastcgi.www-data/socket;
                 fastcgi_index  index.php;
                 fastcgi_param  SCRIPT_FILENAME
/var/www/work/$fastcgi_script_name;
                 fastcgi_param QUERY_STRING $query_string;
                 fastcgi_param REQUEST_METHOD $request_method;
                 fastcgi_param CONTENT_TYPE $content_type;
                 fastcgi_param CONTENT_LENGTH $content_length;
                 include fastcgi_params;
                 proxy_send_timeout 360;
                 proxy_read_timeout 360;
         }

-------------------------------------------------------------------------------------------------------
get.php
<?php
$hash =$_GET['hash'];
$filename = $_GET['filename'];
$ip = md5($_SERVER['REMOTE_ADDR'].'key');
if ($hash == $ip){
$url=$_SERVER['REQUEST_URI'];
$url=explode('?',$url);
$url=$url[1];
if (isset($url)){$filename .='?'.$url;}
header('Content-Type: video/x-flv');
header('X-Accel-Redirect:/video/'.$filename);
die();
}
echo 'NO';
?>
--------------------------------------------------------------------------------------------
нарыл уже в сети кучу примеров. Но не работает хоть тресни. Подозреваю что
дело либо в php скрипте либо в моих настройках либо в моих руках...




Повторюсь еще раз, включите дебаг лог для своего айпи, с виду все нормально.
Первое что может быть, не правильно считается хеш потому что $_SERVER['REMOTE_ADDR'] будет всегда 127.0.0.1, надо либо передавать на бекенд каким-нибудь заголовком типа X-Real-IP REMOTE_ADDR и соответвенно скрипт подправить, либо ставить апачи mod_rpaf. Для чисто раздающего сервера разницы в потребляемых ресурсах между php-cgi и апачи на этом скрипте не будет никакой. Второе, проблема с путем,в дебаг логе это будет отчетливо видно, но по конфигам вроде этой проблемы не должно быть.


--
WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE

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


 




Copyright © Lexa Software, 1996-2009.