Safari descargó mi fuente php una vez. ¿Debo preocuparme?

3

Subí a través de ftp, luego escribí la URL del script en Safari; ¡¡Safari descargó la fuente !!

Este sitio de alojamiento nunca ha hecho eso antes: los scripts .php siempre se han ejecutado.

No puedo duplicarlo. La página se carga como php debería ahora.

¿Tal vez los atrapé mientras estaba cambiando la configuración de .htaccess?

Tal vez mi línea de depuración ini_set ('display_errors', 'stdout'); permitido esto?

Se produjo un error de 'error de compilación' en la página.

Así que ahora, tengo que cambiar mis métodos descuidados y escribir código PHP como si estuviera expuesto a la vista.

¿Qué podría haber causado esta anomalía?

OK, lo que sucedió fue que recientemente había cambiado el archivo .htaccess para usar una versión más reciente de php. Multa. Pero también había descargado ese archivo .htaccess a mi servidor local. La dirección web para el local es similar al sitio. Así que ... con los dedos sueltos, no noté que Safari había llenado automáticamente la dirección con mi sitio local. El sitio local estaba tratando de ejecutar el script con la nueva versión de php que no tenía, por lo que solo entregó el script como descarga. No es lo mejor que se puede hacer, no lo creo, pero al menos no era el servidor en vivo.

Así que he mutado la pregunta a '¿debería preocuparme' por el php expuesto? Después de todo, si mi servidor local entrega el texto del script bajo ciertas condiciones, ¿podría el servidor en vivo también?

    
pregunta Bobbi Bennett 12.12.2012 - 19:42
fuente

4 respuestas

5

La clave real aquí es evitar tener un código PHP significativo en una ubicación donde se descargaría incluso por accidente.

El escenario ideal sería que la página que solicitan sus usuarios sea una página de índice mínima con el menor código de PHP posible, cuya única función es incluir otros scripts de PHP que se encuentran en un directorio fuera del área accesible a la web.

Esta mejor práctica lo protegerá contra el tipo de fallas accidentales en la configuración del servidor que parece haber ocurrido en este caso.

Sé que esto no responde directamente a la pregunta. La respuesta directa (según la respuesta aceptada) parece ser que efectivamente fue un lapso temporal. Es algo incómodo pensar que puede ocurrir un lapso como ese y comprometer completamente la seguridad de un sitio, sin importar lo temporal que fuera. Pero sí pueden ocurrir, y como desarrolladores / administradores responsables del sitio, debemos tomar medidas para mitigar el daño antes de que ocurran. Necesitamos entender lo que podría suceder si los archivos de configuración se eliminan o modifican por accidente, o si un pirata informático se las arregla para solucionar nuestras capas superiores de seguridad, y debemos crear capas secundarias como una red de seguridad para poder limitar el daño si (o más probablemente cuando) esas cosas pasan.

    
respondido por el SDC 14.12.2012 - 11:29
fuente
5

Verifique la configuración de php de su servidor tal como se explica aquí .

Asegúrate de tener AddType application/x-httpd-php .php en el archivo httpd.conf.
Use <?php en lugar de <? .

    
respondido por el Refineo 12.12.2012 - 20:03
fuente
2

La única forma en que se podría presentar la fuente PHP al usuario es si la configuración del servidor estaba desactivada. Un navegador solo puede obtener acceso a la información que le presenta el servidor web y el servidor web debe tener a PHP procesando un script PHP y devolviendo el resultado. Si el script PHP fue enviado al navegador, entonces la configuración del servidor estaba desactivada. Lo que pudo haber causado esto solo en una página es la conjetura de cualquiera, pero si hubo un cambio reciente en el controlador, podría haber eliminado el controlador anterior justo antes de colocar el nuevo y es posible que haya tenido suerte con el tiempo.

    
respondido por el AJ Henderson 12.12.2012 - 23:05
fuente
1

Esto parece ser un problema con su servidor, no con Safari. Algunos servidores enviarán por defecto el archivo PHP al navegador para que se descarguen si no pueden analizar el código PHP. Si esto sucedió solo una vez, creo que es quizás un pequeño error en su intérprete de PHP, pero si esto sucede mucho, recomiendo actualizar su PHP o consultar con su host si está usando uno.

    
respondido por el gggggeg 13.12.2012 - 07:20
fuente

Lea otras preguntas en las etiquetas