В ходе исследований описанных в этом топике, к своему стыду, только сейчас обнаружил интересную фичу в этой связке: Code: [pid 6514] open("/proc/sys/kernel/ngroups_max", O_RDONLY) = 5 [pid 6514] open("/etc/group", O_RDONLY|O_CLOEXEC) = 5 [pid 6513] lstat("/home/www/1/2/3/4/5/6/index.php", {st_mode=S_IFREG|0755, st_size=28, ...}) = 0 [pid 6513] lstat("/home/www/1/2/3/4/5/6", {st_mode=S_IFDIR|0775, st_size=100, ...}) = 0 [pid 6513] lstat("/home/www/1/2/3/4/5", {st_mode=S_IFDIR|0775, st_size=60, ...}) = 0 [pid 6513] lstat("/home/www/1/2/3/4", {st_mode=S_IFDIR|0775, st_size=60, ...}) = 0 [pid 6513] lstat("/home/www/1/2/3", {st_mode=S_IFDIR|0775, st_size=60, ...}) = 0 [pid 6513] lstat("/home/www/1/2", {st_mode=S_IFDIR|0775, st_size=60, ...}) = 0 [pid 6513] lstat("/home/www/1", {st_mode=S_IFDIR|0775, st_size=60, ...}) = 0 [pid 6513] lstat("/home/www", {st_mode=S_IFDIR|0777, st_size=360, ...}) = 0 [pid 6513] lstat("/home", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4220, ...}) = 0 [pid 6513] stat("/home/www/.user.ini", 0x7ffcc2015030) = -1 ENOENT (No such file or directory) [pid 6513] stat("/home/www/1/.user.ini", 0x7ffcc2015030) = -1 ENOENT (No such file or directory) [pid 6513] stat("/home/www/1/2/.user.ini", 0x7ffcc2015030) = -1 ENOENT (No such file or directory) [pid 6513] stat("/home/www/1/2/3/.user.ini", 0x7ffcc2015030) = -1 ENOENT (No such file or directory) [pid 6513] stat("/home/www/1/2/3/4/.user.ini", 0x7ffcc2015030) = -1 ENOENT (No such file or directory) [pid 6513] stat("/home/www/1/2/3/4/5/.user.ini", 0x7ffcc2015030) = -1 ENOENT (No such file or directory) [pid 6513] stat("/home/www/1/2/3/4/5/6/.user.ini", {st_mode=S_IFREG|0755, st_size=26, ...}) = 0 [pid 6513] open("/home/www/1/2/3/4/5/6/.user.ini", O_RDONLY) = 6 [pid 6513] open("/home/www/1/2/3/4/5/6/index.php", O_RDONLY) = 6 Какой такой .user.ini? Шиндоус тебя покусал... А вот какой: Что это даёт? Честно сказать, в уме, применение смоделировать удалось только одно. Допустим, приложение фильтрует загрузки по чёрному списку, супер-пупер регулярка, которая не пускает php и любые другие производные типа phtml и pht. А остальные расширения прогружаются, тогда, при наличии пустого индексного пхп файла: PHP: <?php// Silence is golden. можно загрузить 1.jpg с полезной нагрузкой и попутно залить .user.ini с содержимым: Code: auto_prepend_file = 1.jpg и получить профит. Пусть хоть и сильно притянуто за уши, но имеет право на существование. Что ещё? Не все директивы PHP можно изменять с помощью этого файла, только PHP_INI_PERDIR и PHP_INI_USER, но исходя из ситуации описанной выше, достаточно и этого. Полный список директив, можно посмотреть здесь. И не судите строго, возможно это баян, но для себя, в очередной раз, сделал вывод - RTFM||GTFO. Чего и вам, искренне, желаю
в отдельную бы статью оформить и про то как php связан с остальными парнями(apache->mod_php,cgi,fastcgi,fpm), было бы очень круто