Como desativar funções do PHP com o php.ini

Como desativar funções do PHP com o php.ini

PHP faz uso de inúmeros recursos do servidor e possui muitas funções á disposição dos programadores. Essas funções são para manipular arquivos, linhas de comando, execução de aplicações no próprio servidor, entre muitas outras. Sem dúvida, são funções muito úteis que permitem o uso da programação avançada.

Só que tantas funções ativas podem comprometer a segurança do sistema. Essa questão pode ser “resolvida” através da variável disable_function, localizada no arquivo php.ini.

Se todas as funções do PHP estiverem ativas, qualquer script executado no servidor tem acesso a essas funcionalidades, comprometendo desta maneira a segurança do sistema. Além disso, escrever/executar qualquer comando “Shell”, ou rodas uma aplicação no servidor pode causar um grande risco á segurança.

Como desabilitar as funções

Basicamente, temos que encontrar o aquivo php.ini no sistema – você também pode usar a função phpinfo() para isso -, e editar a variável “disable_functions”, que provavelmente estará sem nenhuma função desabilitada.

Podemos colocar quantas funções necessitamos desativar. Entretanto, há um grupo mais específico de funções que podem aumentar a insegurança.

É bem recomendável que você conheça quais funções estão sendo usadas para o correto funcionamento do seu site, assim, logicamente não podemos desativá-las.

Veja algumas funções que pode oferecer risco a segurança do sistema:

  • phpinfo,
  • dir,
  • readdir,
  • sacndir,
  • opendir,
  • apache_child_terminate,
  • apache_setenv,
  • define_syslog_variables,
  • escapeshellarg,
  • escapeshellcmd,
  • dl,
  • eval,
  • exec, set_time_limit,
  • ftp_connect,
  • ftp_exec,
  • ftp_get,
  • ftp_login,
  • ftp_nb_fput,
  • ftp_put,
  • ftp_raw,
  • ftp_rawlist,
  • highlight_file,
  • ini_alter,
  • ini_set ini_get_all,
  • ini_restore,
  • mysql_pconnect,
  • openlog,
  • passthru,
  • php_uname,
  • popen,
  • ocilogon,
  • posix_getpwuid,
  • posix_kill,
  • posix_mkfifo,
  • posix_setpgid,
  • posix_setsid,
  • posix_setuid,
  • posix_uname,
  • proc_close,
  • proc_get_status,
  • proc_nice,
  • proc_open,
  • proc_terminate,
  • shell_exec,
  • system,
  • syslog,
  • xmlrpc_entity_decode

Depois de configurar o arquivo para desabilitar algumas funções, você deve reiniciar o Apache para que as mudanças tenham efeito.

Como sei se a função foi mesmo desativada?

Depois do processo de configuração ter sido feito, toda vez que uma das funções presentes na variável “disable_functions” for chamada, você receberá está mensagem:

Warning: phpinfo() has been disabled for security reasons in C:\wamp\www\infophp.php on line 4

Leia mais: http://pontuaki.com.br/como-desativar-funcoes-do-php-com-o-php-ini/#ixzz1kcifYo8K

Leave a Reply

Your email address will not be published.

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Abrir chat
💬 Posso Ajudar?