ПРОЕКТЫ 


  АРХИВ 


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]

nginx + php-fpm


  • To: "nginx-ru@xxxxxxxxx" <nginx-ru@xxxxxxxxx>
  • Subject: nginx + php-fpm
  • From: Anton Kiryushkin <swood@xxxxxxxxxxx>
  • Date: Thu, 11 Apr 2013 14:11:18 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fotofor.biz; s=google; h=mime-version:x-received:date:message-id:subject:from:to :content-type; bh=CkHrKdGWd9a4UBvfySQySPLNJ0eKxeMpovbN4GGfZH0=; b=G9V5F/hftpmqNQIQliGOiOqIS3YdTGVHcv/JW1Pd01TTixcIHBKCCe7AFl06jH2p/1 5+9y6OsoSY6UsePtmI/cNli8cb9yP6N0lz6DAKCh+kF5P6UxIRHw4SZAphTTcrp2E0hF g4hV1SGbBvekh9F8j71QQiLuN6D4JuHj1bk9I=

Всем добрый день

Возможно это боян и только я не знаю как так получается. Но столкнулся с интересной вещью.
Есть сайт, туда пользователи могут загружать картинки. И загружают. Но, если вместо картинки, под видом картинки, они загрузят php-код, то, казалось бы, и черт с ним. Сервер его не обработает. Но нашли ведь лаз обращаться к файлу так:
ff9cf78666f326226e5328cd01e82e53804d7a44.png/.php

В location nginx прописано тоже вроде бы корректно:

       location ~ "^(.+\.php)($|/)" {
                set $script $uri;
                if ($uri ~ "^(.+\.php)($|/)") {
                        set $script $1;
                }
                if ($uri ~ "^(.+\.php)(/.+)") {
                        set $script $1;
                }
               fastcgi_index  index.php;
                fastcgi_split_path_info         ^(.+\.php)(.*)$;
                fastcgi_param  PATH_INFO        $fastcgi_path_info;
                fastcgi_pass   fpm-backend;
                include fastcgi_params;
                fastcgi_param SCRIPT_NAME $script;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
}

То есть все, что оканчивается на .php. Соблюдается. Но ведь файла нет. Я имею ввиду ".php". Почему nginx считает файлом ff9cf78666f326226e5328cd01e82e53804d7a44.png/.php, ведь тут есть обычный слэш?

--
Best regards,
Anton Kiryushkin
 
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.