2010-06-08 42 views
33

¿Es posible de alguna manera ver otros sitios web de archivos php/códigos?Posible ver el código PHP de un sitio web?

O para reformular la pregunta, ¿Pueden mis códigos php ser vistos por cualquiera excepto por aquellos que tienen acceso al archivo?

Si es así, ¿cómo puedo evitarlo?

Sal: servidor OS es Ubuntu 9.10 y la versión de PHP es 5+ (Apache 2)

Respuesta

40

un fallo o vulnerabilidad de seguridad en el servidor (ya sea Apache o el motor de PHP), o en su propio código PHP, podría permitir una atacante para obtener acceso a su código.

Por ejemplo, si tiene un script PHP para permitir que las personas descarguen archivos, y un atacante puede engañar a este script para que descargue algunos de sus archivos PHP, entonces su código puede filtrarse.

Ya que es imposible eliminar todos los errores de software que está utilizando, si alguien realmente quiere robar su código, y no tienen suficientes recursos, hay una posibilidad razonable de que van a ser capaces de hacerlo.

Sin embargo, mientras mantenga su servidor actualizado, alguien con interés ocasional no podrá ver la fuente PHP a menos que haya algunas vulnerabilidades obvias de seguridad en su código.

Lea Security section of the PHP manual como punto de partida para mantener su código seguro.

0

Nadie ha leído el archivo, excepto los que tienen acceso al archivo. Debe hacer que el código sea legible (pero no escribible) por el servidor web. Si el controlador de código php se ejecuta correctamente, no puede leerlo solicitándolo por nombre desde el servidor web.

Si alguien compromete su servidor, está en riesgo. Asegúrese de que el servidor web solo pueda escribir en las ubicaciones que necesita. Existen algunas ubicaciones en/var que su distribución debe configurar adecuadamente. No deberían ser accesibles a través de la web./var/www no debe poder escribirse, pero puede contener subdirectorios escritos por el servidor web para contenido dinámico. Los controladores de código deberían estar deshabilitados para estos.

Asegúrate de no hacer nada en tu código php que pueda conducir a la inyección de código. El otro riesgo es el recorrido del directorio utilizando rutas que contengan ... o que comiencen con /. Apache ya debería tener un parche para evitar esto cuando esté manejando rutas. Sin embargo, cuando ejecuta código, incluido php, no controla las rutas. Evite todo lo que permita al cliente web pasar una ruta de archivo.

1

Al usar exploits o en servidores mal configurados, es posible descargar su fuente de PHP. Sin embargo, puedes ofuscar y/o encriptar tu código (usando Zend Guard, Ioncube o una aplicación similar) si quieres asegurarte de que tu fuente no sea legible (para ser preciso, la ofuscación por sí misma podría revertirse si se le da tiempo/recursos suficientes). , pero aún no he encontrado un descifrador IonCube o Zend Guard ...).

Cuestiones relacionadas