получить php-файлы из списка каталогов

получить php-файлы из списка каталогов

на моем сайте есть PHP-файлы, которые я включаю в другие PHP-файлы... они выполняют разные задачи, например, подключаются к моей базе данных и выполняют другие функции... теперь я знаю заданный путь к моим файлам... поэтому я могу указать путь, например

http://www.mysite.com/myfiles/

это выдаст список файлов в этом каталоге.

Я знаю, что для того, чтобы избежать перечисления каталогов, мне придется ввести имя файла index.htmlИЛИ index.phpсделать это вместо перечисления каталогов.

но я все равно знаю путь к файлу... http://www.mysite.com/myfiles/con.phpпри этом код выполняется, но вы можете видеть исходный OFFCourse, потому что это клиентская сторона...

НО есть ли способ получить этот PHP-файл с его исходным кодом, когда кто-то знает путь... это не будет представлять угрозу безопасности, не так ли?

решение1

Ну, во-первых, вы должны иметь возможность отключить вывод списка каталогов (тем самым избавляя от необходимости засорять дерево каталогов бесполезными файлами index.php), просто добавив следующую строку в файл .htaccess в вашем каталоге include:

Options -Indexes

Теперь, что касается возможности доступа пользователей к исходному коду PHP, то, если ваш веб-сервер правильно настроен на интерпретацию файлов PHP, а не просто обслуживает их напрямую, все должно быть в порядке (при условии, что ваши включаемые файлы не содержат echo()никаких переменных или чего-то подобного).

решение2

Если у вас есть AddType или SetHandler, определенные для PHP-файлов, то они будут интерпретированы apache/webserver перед тем, как будут переданы клиентам. Таким образом, клиент не увидит исходный код php, а только сгенерированный html.

решение3

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

<?php
 if($_GET['hash'] === "jV1V-7-VhS09K-_77GtEoOd86K2-ba-W") {
   show_source(__FILE__);
 }
?>

Таким образом, только люди, знающие этот «хеш» (и злые люди, которые пытаются вас взломать), могут получить этот исходный код, перейдя по ссылкеhttp://example.org/myfiles/con.php?hash=jV1V-7-VhS09K-_77GtEoOd86K2-ba-W.

Связанный контент