Laerte Guedes
   As linguagens de programação por si só já    possuem algumas brechas de segurança que    podem vir a ser exploradas po...
   Mensagens de Erro: É necessário muito    cuidado com a exposição de informações que    mensagens de erro provocam. Uma...
   Criptografia
   Criptografia: Como sabemos, informações    trafegam e existe a possibilidade de    interceptação dessas informações po...
   Validação de Dados: Tendo seu aplicativo na    web você nunca terá 100% de controle sobre    tudo que seus visitantes ...
   Configurações de Servidor: Fique atento    sempre as configurações dos servidores que    pretende trabalhar. Existem d...
   Atualize-se: Procure sempre procurar sobre    novos tipos de invasão e softwares mal-    intencionados e modo de como ...
   SQL Injection: É um tipo de ameaça de    segurança que visa a inserção de instruções    SQL através da manipulação de ...
   Consideremos o seguinte comando SQL:   SELECT id, nome, sobrenome FROM autores;   Restringiremos nossa busca amarran...
   Considerando isso, vamos supor que o usuário    coloque acidentalmente uma aspa simples no    meio da string inserida:...
   Desse modo, nesse último comando, ao    inserirmos uma string acrescida de aspas    simples e do comando “DROPTABLE   ...
   Resumindo, a SQL Injection só significa uma    coisa para nosso sistema:
   Usar a Função Addslashes();   Fazer validações na entrada;   Usar prepared statements;
Obrigado!
Segurança em php
Próximos SlideShares
Carregando em…5
×

Segurança em php

611 visualizações

Publicada em

Apresentação sobre Segurança em PHP

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
611
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
13
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Segurança em php

  1. 1. Laerte Guedes
  2. 2.  As linguagens de programação por si só já possuem algumas brechas de segurança que podem vir a ser exploradas por hackers mal intencionados. Porém, estima-se que cerca de 70% das falhas exploradas não são da linguagem, e sim, da codificação indevida do sistema.
  3. 3.  Mensagens de Erro: É necessário muito cuidado com a exposição de informações que mensagens de erro provocam. Uma simples falha de conexão com banco de dados pode exibir o nome do banco e o usuário do mesmo, o que é perigoso se alguém mal intencionado ver.
  4. 4.  Criptografia
  5. 5.  Criptografia: Como sabemos, informações trafegam e existe a possibilidade de interceptação dessas informações por um cracker. Toda informação sigilosa deve ser protegida por um algoritmo de criptografia. É aconselhável usar um bom algoritmo de criptografia, ou usar um próprio.
  6. 6.  Validação de Dados: Tendo seu aplicativo na web você nunca terá 100% de controle sobre tudo que seus visitantes vão preencher em seus formulários, que diga-se de passagem, é a ferramenta mais importante de qualquer aplicação. Logo, filtre todas as informações afim de evitar ataques, tais como: XSS, SQL Injection, Mail Injection, HTML Injection e outros.
  7. 7.  Configurações de Servidor: Fique atento sempre as configurações dos servidores que pretende trabalhar. Existem diretivas que podem ser exploradas facilmente se não houver a devida preocupação por parte do programador na hora da codificação.
  8. 8.  Atualize-se: Procure sempre procurar sobre novos tipos de invasão e softwares mal- intencionados e modo de como proteger o seu sistema web deles. Não esqueça, todo dia surgem novos vírus e outras ameaças.
  9. 9.  SQL Injection: É um tipo de ameaça de segurança que visa a inserção de instruções SQL através da manipulação de dados de uma aplicação.
  10. 10.  Consideremos o seguinte comando SQL: SELECT id, nome, sobrenome FROM autores; Restringiremos nossa busca amarrando os valores inseridos pelo usuário numa cláusula WHERE: SELECT id, nome, sobrenome FROM autores WHERE nome = josé AND sobrenome = silva; José e Silva são strings cujo conteúdo será inserido como entrada pelo usuário.
  11. 11.  Considerando isso, vamos supor que o usuário coloque acidentalmente uma aspa simples no meio da string inserida: SELECT id, nome, sobrenome FROM autores WHERE nome = josé AND sobrenome = silva; O inserção da aspa faz com que o que vier depois dela seja considerado como uma instrução SQL autêntica. Acima temos erro de sintaxe, mas poderíamos fazer assim: SELECT id, nome, sobrenome FROM autores WHERE nome = jo; DROP TABLE autores ;
  12. 12.  Desse modo, nesse último comando, ao inserirmos uma string acrescida de aspas simples e do comando “DROPTABLE autores” no injetamos uma instrução SQL de forma indevida, e removemos a tabela autores de nosso banco de dados.
  13. 13.  Resumindo, a SQL Injection só significa uma coisa para nosso sistema:
  14. 14.  Usar a Função Addslashes(); Fazer validações na entrada; Usar prepared statements;
  15. 15. Obrigado!

×