obter arquivos php da listagem de diretórios

obter arquivos php da listagem de diretórios

no meu site existem arquivos PHP que incluo em outros arquivos php... eles executam tarefas diferentes, como conectar-se ao meu banco de dados e várias outras funções... agora eu sei o caminho fornecido dos meus arquivos.. então posso fornecer o caminho como

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

isso fornecerá a lista de diretórios dos arquivos nesse diretório.

eu sei que para evitar a listagem de diretórios terei colocado um nome de arquivo index.htmlOU index.phpfazendo isso em vez da listagem de diretórios

mas ainda sei o caminho do arquivo. http://www.mysite.com/myfiles/con.phpFazendo isso o código é executado, mas você pode ver a fonte OFFCourse porque é do lado do cliente.

MAS existe uma maneira de obter esse arquivo PHP com seu código-fonte quando alguém sabe o caminho... não será um risco de segurança, não é?

Responder1

Bem, em primeiro lugar, você deve ser capaz de desabilitar a listagem de diretórios (tornando assim desnecessário poluir sua árvore de diretórios com arquivos index.php inúteis) apenas adicionando a seguinte linha em um arquivo .htaccess em seu diretório inclui:

Options -Indexes

Agora, com relação aos usuários serem capazes de obter o código-fonte do php, contanto que seu servidor web esteja configurado corretamente para interpretar arquivos php e não apenas servi-los diretamente, você deve ficar bem (assumindo que seus arquivos de inclusão não contêm echo()nenhuma variável ou algo bobo assim).

Responder2

Se você tiver AddType ou SetHandler definido para arquivos PHP, ele será interpretado pelo apache/webserver antes de servir aos clientes. Assim, o cliente não verá a fonte do php, mas apenas o html gerado.

Responder3

Se bem entendi, você gostaria de obter a fonte PHP para pessoas que conhecem a URL real do arquivo PHP. Você pode usar algo assim, mas lembre-se: não é uma segurança real, então é melhor não incluir isso em arquivos PHP contendo coisas privadas como usuário/senha do banco de dados, etc.

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

Dessa forma, apenas as pessoas que conhecem esse "hash" (e pessoas más que o forçam com força bruta) podem obter esse código-fonte acessandohttp://example.org/myfiles/con.php?hash=jV1V-7-VhS09K-_77GtEoOd86K2-ba-W.

informação relacionada