Segurança em PHP
Desenvolva programas PHP com alto nível de segurança e aprenda como manter os servidores web livres de ameaças
Márcio Pessoa
Novatec
capítulo 1
Conceitos gerais
No primeiro capítulo serão abordados alguns conceitos de desenvolvimento visando à segurança do projeto de um modo geral. Não serão explorados aspectos específicos do PHP; o objetivo deste capítulo é explicar de forma simples os princípios de segurança em um projeto, independente de linguagens de programação ou sistemas operacionais.
Ao concluir este capítulo, o leitor estará familiarizado com os seguintes tópicos: ■
Conceitos básicos de segurança relacionados à programação.
■
Definição de usabilidade de um sistema.
■
Razões para realizar a programação visando a usuários ilegítimos.
■
Considerações sobre desempenho.
■
Limites de acesso.
1.1 Segurança
Levando em consideração as boas linguagens de programação, elas por si só não podem ser consideradas seguras ou inseguras; a segurança de sua aplicação depende, sobretudo, de todo o projeto e, mais especificamente, do código do programa.
Nenhum esforço isolado é suficiente para evitar problemas de segurança de computadores. Com toda certeza o leitor já deparou com frases como:
17
18
Segurança em PHP
■
“Nossa política de segurança é à prova de falhas.”
■
“ tecnologia usada neste DVD para evitar pirataria é absolutamente
A
confiável.”
■
“Este sistema é totalmente seguro!”
Certamente não é necessário mencionar que essas frases foram muito mal sucedidas, pois a segurança não pode ser medida de forma absoluta; a segurança de um sistema deve ser aferida, não devendo ser tratada como uma característica do mesmo.
A segurança de um sistema deve ser balanceada com o custo e a usabilidade do projeto. De modo geral, um projeto com algum nível de segurança implementado tem um custo superior a um projeto sem nenhum requinte de segurança. Esses custos