Могут ли файлы PHP с расширением .php.xx выполняться как PHP? - PullRequest
0 голосов
/ 01 декабря 2010

Скажем, у вас есть файл myfile.php, который выполняет некоторый код PHP. Может ли этот файл каким-либо образом (любым возможным способом) быть выполнен, если бы он был назван myfile.php.xx, где xx - какие-либо символы? А как насчет myfile.phpxx? А как насчет других типов исполняемых файлов в той же ситуации (.pl, .exe, .dll и т. Д.)?

Я работаю над брандмауэром, использую регулярные выражения для проверки имен файлов для этих типов файлов. Достаточно ли просто проверить конец файла на наличие .php, .exe и т. Д., Или он также должен проверить, что будет после него?

Ответы [ 2 ]

8 голосов
/ 01 декабря 2010

Это полностью до веб-сервера, чтобы решить, как он хочет обрабатывать данный URL.Если он хочет рассматривать URL с 20-значным номером, доступным в 2:35 во второй половине третьего третьего месяца месяца, как PHP-скрипт, то это его прерогатива.Попытка угадать, что будет делать веб-сервер строго по запрошенному URL-адресу, невозможна.

3 голосов
/ 01 декабря 2010

Реальный интерпретатор PHP не заботится о имени файла или расширении. Вы можете выбросить в него любой файл, если он содержит правильный код PHP, он будет выполнен.

A веб-сервер по умолчанию выбрасывает .php (и, возможно, .php4 и .php5) файлы в интерпретатор PHP, но может быть сделано для этого с any тип файла с соответствующими настройками:

AddHandler php5-script .foobar

Он также может по умолчанию обрабатывать URL-адреса, которые заканчиваются на .php скриптом Perl, программой на C # или стиранием жесткого диска.

Имена файлов означают абсолютно ничего .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...