Olá pessoal! Tudo bem ?
Então, como prometido. Hoje o assunto é PHP.
Vamos começar explicando como configurar melhor o PHP.ini para tornar sua aplicação mais segura.
Abaixo algumas funções existentes dentro do arquivo de configuração e sua melhor utilização:
disable_functions=string
Configurando o disable_functions você desabilita algumas funções especificas do php,
como: fopen(),popen() e file().
disable_errors=On|Off
No ambiente de desenvolvimento esta função é facilmente utilizável. Porém é necessário desabilita-la quando for para produção.
doc_root=string
O ideal para esta função é configura-la com o caminho que especifica o diretório raiz a partir do qual os arquivos PHP serão
utilizados.
open_basedir=string
Que tal estabelecer um diretório base em que todas as operações com arquivos estarão restritas? Configure o open_basedir da seguinte forma:
open_basedir = “/home/www/”.
Para que impedir manipulação de arquivos por meio de alguns comandos simples do proprio PHP.
expose_php=On|Off
É por meio desta função que o sistema exibe que o PHP está instalado no servidor, mostra a versão do PHP dentro do header HTTP
na assinatura do servidor. Portanto, tente sempre manter esta função desabilitada.
Vamos configurar o Apache?
ServerSignature
Parecido com o expose_php o ServerSignature é Responsavel por exibir a assinatura do servidor, mostrar a versão do servidor Apache, o nome do servidor,
sua porta de acesso e seus módulos compilados. Novamente, é aconselhável mantê-la desabilitada.
ServerToken
Caso a função ServerSignature estiver habilitada, a função ServerToken irá configurar o nível de detalhe do servidor que será fornecido,
Opções disponíveis: Full, Major, Minimal, Minor, OS e Prod.
phpinfo()
o phpinfo() exibe detalhes de como seu php está configurado. Portanto, esta também é aconselhável manter desabilitada.
Mas e os ataques? Como se proteger?
Cross-Site Scripting (XSS)
string htmlentities( string input [,int quote_style [, string charset ] ])
Esta função converte caracteres que possuem significado especial em HTML para strings um browser pode mostrar como sendo
fornecidos, em vez de executá-las como HTML.
string strip_tags(string str [, string allowed_tags])
Esta função permite que tags html serão permitidas na string.
SQL Injection
Lembre-se de não se conectar ao banco de dados como um super-usuario (root), sempre utilize usuarios personalizados.
Algumas funções disponibilizadas no PHP para evitar ataques de SQL injection:
- mysql_real_escape_string(),
- sqlite_escape_string(),
- addslashes(),
- str_replace().
Gostaram? Então fiquem ligados nos próximos posts!
0 comments:
Postar um comentário