O interpretador php é configurado através do arquivo “php.ini“, um longo arquivo de configuração que permite ativar ou desativar opções diversas da linguagem, como por exemplo a possibilidade de fazer upload de arquivos através de
scripts colocados nas páginas.
A localização do arquivo pode variar de acordo com a distribuição, mas você pode encontrá-lo rapidamente usando o comando “locate”. No caso do CentOS, o arquivo é o “/etc/php.ini“, enquanto nas distribuições derivadas do Debian é usado
o arquivo “/etc/php5/apache2/php.ini“.
Para melhorar a segurança, é recomendável desativar as funções “show_source”, “system”, “shell_exec”, “passthru”, “exec”, “popen”, “proc_open”, “symlink”, o que pode ser feito através da opção “disable_functions =”, disponível (no Debian Etch) na linha
224 do arquivo. Basta adicionar a lista das funções, como em::
Outras opções que é recomendável manter desativadas dentro do arquivo são:
expose_php = Off register_globals = Off allow_url_fopen = Off allow_url_include = Off
A opção “allow_url_fopen” permite abrir ou processar uma página ou arquivo externo dentro do script php. Embora ela seja uma função útil, usada por scripts que geram uma lista de links a partir de um feed, por exemplo, ela pode ser usada para diversos
tipos de abusos, o que faz com que ela seja desativada em diversos serviços de hospedagem, como no caso do Dreamhost.
Ao tentar executar algum script em PHP que dependa da função, você receberá um erro similar a:
Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /var/ww/site/rss.php on line 59
Nesse caso, você tem duas opções. Ou volta a ativar a opção dentro do arquivo, substituindo a linha “allow_url_fopen = Off” por “allow_url_fopen = On” (é necessário reiniciar o serviço do Apache para que a alteração entra em vigor) ou reescreve o
script usando a função “cURL”, para que o script baixe o arquivo antes de processá-lo.
Outra dica é que além do pacote básico, existem diversos módulos e add-ons para o PHP, disponíveis através de pacotes complementares, como o “php5-gd” (usado por diversos scripts de CAPTCHA, os verificadores onde o usuário precisa digitar o texto
contido na imagem) e o “php5-mcrypt” (uma biblioteca com funções de encriptação e desencriptação). Você pode começar com o pacote básico e ir instalando os pacotes adicionais conforme for precisando deles.
Esta postagem foi modificada pela última vez em 16/11/2010 16:41