en mi sitio web hay archivos PHP que incluyo en otros archivos php... realizan diferentes tareas como conectarse a mi base de datos y varias otras funciones... ahora sé la ruta dada de mis archivos... así que puedo dar la ruta como
http://www.mysite.com/myfiles/
esto le dará al directorio una lista de archivos en ese directorio.
Sé que para evitar la lista de directorios habré puesto un nombre de archivo index.html
O index.php
haciéndolo en lugar de la lista de directorios
pero aún así sé la ruta del archivo... http://www.mysite.com/myfiles/con.php
al hacer esto, el código se ejecuta pero puedes ver la fuente OFFCourse porque es del lado del cliente...
PERO, ¿hay alguna manera de obtener ese archivo PHP con su código fuente cuando alguien conoce la ruta? No será un riesgo para la seguridad, ¿no?
Respuesta1
Bueno, antes que nada, deberías poder deshabilitar el listado de directorios (haciendo así que no sea necesario contaminar tu árbol de directorios con archivos index.php inútiles) simplemente agregando la siguiente línea en un archivo .htaccess en tu directorio de inclusión:
Options -Indexes
Ahora, con respecto a que los usuarios puedan obtener el código fuente de php, siempre y cuando su servidor web esté configurado correctamente para interpretar archivos php y no solo servirlos directamente, debería estar bien (suponiendo que sus archivos de inclusión no incluyan echo()
ninguna variable). o algo así de tonto).
Respuesta2
Si tiene AddType o SetHandler definido para archivos PHP, Apache/webserver lo interpretará antes de servirlo a los clientes. Entonces el cliente no verá la fuente php, sino solo el html generado.
Respuesta3
Si le entiendo correctamente, le gustaría obtener la fuente PHP para que las personas conozcan la URL real del archivo PHP. Podrías usar algo así, pero recuerda: no es una seguridad real, así que es mejor no incluir esto en archivos PHP que contengan elementos privados como usuario/contraseña de base de datos, etc.
<?php
if($_GET['hash'] === "jV1V-7-VhS09K-_77GtEoOd86K2-ba-W") {
show_source(__FILE__);
}
?>
De esta manera, sólo las personas que conocen ese "hash" (y las personas malvadas que te fuerzan bruscamente) pueden obtener ese código fuente yendo ahttp://example.org/myfiles/con.php?hash=jV1V-7-VhS09K-_77GtEoOd86K2-ba-W.