PUBLICIDADE
Este artigo tem nota
9

Autor

rlpa

Rodrigo Araujo

membro deste abril de 2007

Compartilhe e guarde

  • Rec6
  • StumbleUpon
  • ueba
  • linkk
  • dihitt
  • linkloko
  • linkto
  • Technorati
  • Simpy
  • del.icio.us
  • Faves: Fave It!

PUBLICIDADE

Enquete

Que linguagem server-side você utiliza?
sexta-feira, 28 de setembro de 2007

15 dicas para deixar seu site PHP mais seguro


1. Evite colocar seu arquivo de conexão com banco de dados no mesmo diretório das suas páginas ou no diretório usado para includes. O melhor a fazer é colocá-lo em algum diretório fora da raiz do site.

2. Desligue no servidor web a configuração que permite a listagem dos arquivos presentes nos diretórios que não tem um index.php.

3. Evite usar o nome includes para o diretório onde você colocará esse tipo de arquivo.

4. No diretório que você usar para colocar seus arquivos de include, sempre coloque um arquivo index.htm e um index.php em branco. Isso evitará que o servidor liste o conteúdo desse diretório caso esteja com a configuração para listagens habilitada.

5. Jamais use a extensão .inc para seus arquivos de include. Isso pode fazer com que o servidor web mostre dados importantes contidos nesses arquivos. Use sempre a extensão .php. Dessa forma o arquivo sempre será processado antes de ser entregue para os usuários.

6. Desligue o error_reporting no servidor de produção. Erros em scripts PHP normalmente exibem a localização física dos arquivos no servidor ou mostram as consultas inteiras que estão sendo usadas para acessar o banco de dados, por exemplo. Com o error_reporting desligado, essas informações não serão mostradas.

7. Ao criar uma área de administração do site, evite usar nomes óbvios como admin.

8. Ainda na mesma área administrativa, faça configurações que obriguem os usuários a mudar de senha freqüentemente e que não aceite senhas muito simples. Evite também a criação de usuários padrão como: admin, administrador, admintrator, root.

9. Em formulários que enviam dados diretamente para o banco, tomar cuidado com SQL Injection. Para resolver isso, capture esses dados e trate-os com addslashes.

10. Em sistemas dinâmicos, evitar fazer scripts que apagam dados do banco. Costume usar status para os registros e depois construa um script coletor que irá tratar esses dados que deveriam ser apagados.

11. Não esqueça que é possível configurar o nível de permissão do usuário que será usado para acessar o banco de dados. Se seu site apenas faz consultas. Coloque no seu arquivo de conexão um usuário que só possa fazer SELECT no banco.

12. No php.ini, que é o arquivo de configuração do PHP, use o parâmetro disable_functions para desabilitar funções que podem ser perigosas como: exec(), eval(), readfile(), shell_exec(), system(), file(), fopen(), popen() entre outras.

13. Ainda no php.ini, habilite o safe_mode.

14. Sempre desabilitar o usuário root padrão do MySQL, que tem senha em branco.

15. Se for usar algum aplicativo para blog, chat, wiki, etc. Não esqueça de remover o arquivo de instalação do diretório do aplicativo.
Sim   Não   Este artigo foi útil para você?
NotaComentário
10
usertop comentou em 7/11/2009

Exelente

Segurança sempre é bom, valeu pelas dicas
7
everton3x comentou em 26/10/2009

Bom

Boas dicas, porém esqueceu-se de incluir dicas sobre o uso do .htaccess.
10
epessoa comentou em 13/8/2009

Muito bom...

Agora contruirei scripts mais seguros.
Regras:
Os comentários seguem as seguintes regras:
  • Todos os comentários são enviados por membros cadastrados no site.
  • A pontuação de comentários de conteúdo do próprio membro não serão computados.
  • Os comentários serão pré-aprovados, porém a equipe do site revisará o conteúdo de todos os comentários podendo ser invalidados (inclusive a pontuação).
  • Os comentários precisam ter, obrigatóriamente, coerência sobre o conteúdo que será comentado.
  • O membro que atingir 5 comentários invalidados não poderá mais comentar dentro do site. Com isso o membro não poderá mais ganhar pontos com comentários.
  • Há um limite de 10 comentários por dia para cada membro.
  • Qualquer comentário após ter sido publicado poderá ser retirado através da opção ( denunciar)

Comente

     (ainda não tem cadastro? clique aqui!)


Máximo de 30 caracteres

Máximo de 255 caracteres
 

R&W Consulting - Soluções Web Hospedagem UOL HOST PagSeguro - solução para pagamentos online
© 2006-2009 R&W Informática Ltda. - Todos os direitos reservados.