nginx + php-fpm
Anton Kiryushkin
swood at fotofor.biz
Thu Apr 11 10:11:18 UTC 2013
Всем добрый день
Возможно это боян и только я не знаю как так получается. Но столкнулся с
интересной вещью.
Есть сайт, туда пользователи могут загружать картинки. И загружают. Но,
если вместо картинки, под видом картинки, они загрузят 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20130411/4e46cd8b/attachment-0001.html>
Подробная информация о списке рассылки nginx-ru