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
|