PHP, deshabilitar funciones

PHP es un excelente lenguaje de programación web que está mejorando constantemente para ofrecernos mejoras en términos de rendimiento y seguridad.
Generalmente los problemas de seguridad no están en fallos del propio lenguaje, sino en fallos que comente el propio programador web. Una variable sin comprobar, un array con un valor incorrecto, etc. puede desembocar en un problema de seguridad como un XSS o un Cross-site File Upload, por ejemplo.
Ejemplos de esto los tenemos todos los días en páginas web conocidas y en software que empleamos, pero si un atacante puede conseguir acceso al sistema por un fallo y así ejecutar comando que no debiera. PHP permite desde el php.ini, deshabilitar una serie de funciones que se consideran peligrosas y así evitar en caso fallo que puedan ser empleadas. Algunas de las funciones que se pueden deshabilitar son system o shell_exec, lo que hace idea ya del extra de seguridad que ofrece.
Si no las estás empleando en tu página, ¿por qué tenerlas habilitadas?
disable_functions = proc_open, popen, disk_free_space, diskfreespace, set_time_limit, leak, tmpfile, exec, system, shell_exec, passthru, phpinfo, ini_set
Añadiendo la línea anterior al php.ini, conseguimos nativamente deshabilitar el empleo de todas las funciones en ella indicadas y en caso de que alguien hiciera uso de ellas, en el log de error, obtendríamos una línea similar a la siguiente,
Dic 7 17:37:16 info php: PHP Warning:  ini_set() has been disabled for security reasons in /var/www/index.php on line 5
Antes de deshabilitar una función, especialmente si estás en entornos de producción, comprueba que ésta no esté siendo empleada por tu web, sino toda o parte de ella dejará de funcionar.


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios