Una de las multiples medidas de seguridad que incorporamos es el protocolo de seguridad suPHP ( http://www.suphp.org ), el cual ayuda a identificar, aislar y detener rapidamente cualquier ataque a traves de PHP efectuado por usuarios maliciosos.
suPHP impide que se ejecuten los programas en PHP como usuarios no identificados, por eso todos los programas en PHP que se ejecuten en su dominio apareceran claramente identificados con el usuario de su dominio.
Si ha visto un error 500, Internal server error o similar al ejecutar una de sus paginas es muy probable que sea debido a la protección suPHP.
Las causas y sus soluciones suelen ser las siguientes:
1. Carpetas con permisos 777 y directorios con permisos 666 y/o propietario incorrecto: los valores recomendados son un maximo de 755 para carpetas y 644 para archivos. El propietario (owner) de los ficheros debe
Por defecto si sube los ficheros por ftp o los crea desde el panel de control asumen los valores recomendados. En cambio, si los sube en un archivo comprimido que contenga estos valores (Sacado de otro servidor linux o mac os x) y lo descomprime en el servidor, puede pasar que tenga estos valores (777 y 666) y cause fallos.
La solución es cambiar los permisos para que sean los recomendados: 755 para carpetas y 644 para archivos. Lo puede hacer mediante un cliente ftp, con el administrador de archivos del panel de control de su web.
2. Fichero .htaccess que cambia la configuracion de PHP:
Si usted o su aplicación usa un fichero .htaccess que modifique la configuración de PHP, debe quitar las lineas que modifiquen valores de PHP de ese .htaccess y utilizar un fichero php.ini en su lugar.
Puede identificar esas lineas porque empiezan por php_flag o php_value. Tenga en cuenta que al pasarlos al fichero php.ini la sintaxis no es la misma que con el .htacces, ejemplo:
php_flag register_globals off
Se escribira en php.ini asi:
register_globals off
3. Si su .htaccess contiene una variable del tipo AddType, por ejemplo:
AddType application/x-httpd-php
Debe ser:
AddHandler application/x-httpd-php”
Si usa ForceType para forzar que un archivo en concreto se procese como PHP, debe cambiarlo por SetHandler
Tampoco se permiten las variables especificas de apache para PHP: http://www.php.net/manual/en/ref.apache.php
