<div dir="ltr">МакÑим, ÑпаÑибо за ответ.<div><br></div><div style>ЕÑли вы про определение переменной $script, то даже еÑли от него отказатьÑÑ Ð¸ иÑпользовать штатную переменную <span style="color:rgb(0,0,0);font-family:monospace;font-size:medium">$fastcgi_script_name, то от Ñтого то, к ему обращаетÑÑ nginx не менÑетÑÑ. Ð”Ð»Ñ Ð¼ÐµÐ½Ñ Ð¾ÑтаетÑÑ Ð²Ð¾Ð¿Ñ€Ð¾Ñом, почему игнорируетÑÑ / в пути, то еÑÑ‚ÑŒ почему nginx обращаетÑÑ Ðº файлу:</span></div>
<div style><span style="font-family:arial,sans-serif;font-size:13.333333969116211px">/ff9cf78666f326226e5328cd01e82e</span><span style="font-family:arial,sans-serif;font-size:13.333333969116211px">53804d7a44.png/.php</span><span style="color:rgb(0,0,0);font-family:monospace;font-size:medium"><br>
</span></div><div style><span style="font-family:arial,sans-serif;font-size:13.333333969116211px">Рне к :</span></div><div style><span style="font-family:arial,sans-serif;font-size:13.333333969116211px">/.php</span><span style="font-family:arial,sans-serif;font-size:13.333333969116211px"><br>
</span></div><div style><span style="font-family:arial,sans-serif;font-size:13.333333969116211px"><br></span></div><div style><span style="font-family:arial,sans-serif;font-size:13.333333969116211px">Что же до ничего не Ñчитает, то Ñто абÑолютно понÑтно и к Ñтому вопроÑов нет.</span></div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">11 Ð°Ð¿Ñ€ÐµÐ»Ñ 2013 г., 15:17 пользователь Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span> напиÑал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<div><div class="h5"><br>
On Thu, Apr 11, 2013 at 02:11:18PM +0400, Anton Kiryushkin wrote:<br>
<br>
> Ð’Ñем добрый день<br>
><br>
> Возможно Ñто боÑн и только Ñ Ð½Ðµ знаю как так получаетÑÑ. Ðо ÑтолкнулÑÑ Ñ<br>
> интереÑной вещью.<br>
> ЕÑÑ‚ÑŒ Ñайт, туда пользователи могут загружать картинки. И загружают. Ðо,<br>
> еÑли вмеÑто картинки, под видом картинки, они загрузÑÑ‚ php-код, то,<br>
> казалоÑÑŒ бы, и черт Ñ Ð½Ð¸Ð¼. Сервер его не обработает. Ðо нашли ведь лаз<br>
> обращатьÑÑ Ðº файлу так:<br>
> ff9cf78666f326226e5328cd01e82e53804d7a44.png/.php<br>
><br>
> Ð’ location nginx пропиÑано тоже вроде бы корректно:<br>
><br>
> Â Â Â Â location ~ "^(.+\.php)($|/)" {<br>
> Â Â Â Â Â Â Â Â set $script $uri;<br>
> Â Â Â Â Â Â Â Â if ($uri ~ "^(.+\.php)($|/)") {<br>
> Â Â Â Â Â Â Â Â Â Â Â Â set $script $1;<br>
> Â Â Â Â Â Â Â Â }<br>
> Â Â Â Â Â Â Â Â if ($uri ~ "^(.+\.php)(/.+)") {<br>
> Â Â Â Â Â Â Â Â Â Â Â Â set $script $1;<br>
> Â Â Â Â Â Â Â Â }<br>
>         fastcgi_index  index.php;<br>
>         fastcgi_split_path_info     ^(.+\.php)(.*)$;<br>
>         fastcgi_param  PATH_INFO     $fastcgi_path_info;<br>
>         fastcgi_pass  fpm-backend;<br>
> Â Â Â Â Â Â Â Â include fastcgi_params;<br>
> Â Â Â Â Â Â Â Â fastcgi_param SCRIPT_NAME $script;<br>
>         fastcgi_param  SCRIPT_FILENAME<br>
> Â $document_root$fastcgi_script_name;<br>
> }<br>
><br>
> То еÑÑ‚ÑŒ вÑе, что оканчиваетÑÑ Ð½Ð° .php. СоблюдаетÑÑ. Ðо ведь файла нет. Я<br>
> имею ввиду ".php". Почему nginx Ñчитает файлом<br>
> ff9cf78666f326226e5328cd01e82e53804d7a44.png/.php, ведь тут еÑÑ‚ÑŒ обычный<br>
> ÑлÑш?<br>
<br>
</div></div>Потому что nginx вообще ничего не Ñчитает, файла вообще может не<br>
быть, или он может быть на другой машине.  ЕÑли вы хотите, чтобы<br>
nginx проверÑл ÑущеÑтвование файла, то добавьте try_files - и будет<br>
проверÑÑ‚ÑŒ.<br>
<br>
Ð’ данном Ñлучае, однако, правильное решение - Ñто не городить<br>
коÑтыли в nginx'е, а иÑправить поведение php, чтобы он открывал<br>
ровно то, что Ñказали, а не пыталÑÑ Ð¿Ñ€Ð¸Ð´ÑƒÐ¼Ð°Ñ‚ÑŒ правильное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°<br>
Ñам.  AFAIK, выключить cgi.fix_pathinfo - помогает.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Maxim Dounin<br>
<a href="http://nginx.org/en/donation.html" target="_blank">http://nginx.org/en/donation.html</a><br>
<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div>Best regards,</div>
Anton Kiryushkin<br>Â
</div>