segurança em php
DESCRIPTION
Apresentação sobre Segurança em PHPTRANSCRIPT
![Page 1: Segurança em php](https://reader034.vdocuments.site/reader034/viewer/2022052600/5579a50cd8b42ac1148b4a2e/html5/thumbnails/1.jpg)
Laerte Guedes
![Page 2: Segurança em php](https://reader034.vdocuments.site/reader034/viewer/2022052600/5579a50cd8b42ac1148b4a2e/html5/thumbnails/2.jpg)
![Page 3: Segurança em php](https://reader034.vdocuments.site/reader034/viewer/2022052600/5579a50cd8b42ac1148b4a2e/html5/thumbnails/3.jpg)
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.
![Page 4: Segurança em php](https://reader034.vdocuments.site/reader034/viewer/2022052600/5579a50cd8b42ac1148b4a2e/html5/thumbnails/4.jpg)
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.
![Page 5: Segurança em php](https://reader034.vdocuments.site/reader034/viewer/2022052600/5579a50cd8b42ac1148b4a2e/html5/thumbnails/5.jpg)
Criptografia
![Page 6: Segurança em php](https://reader034.vdocuments.site/reader034/viewer/2022052600/5579a50cd8b42ac1148b4a2e/html5/thumbnails/6.jpg)
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.
![Page 7: Segurança em php](https://reader034.vdocuments.site/reader034/viewer/2022052600/5579a50cd8b42ac1148b4a2e/html5/thumbnails/7.jpg)
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.
![Page 8: Segurança em php](https://reader034.vdocuments.site/reader034/viewer/2022052600/5579a50cd8b42ac1148b4a2e/html5/thumbnails/8.jpg)
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.
![Page 9: Segurança em php](https://reader034.vdocuments.site/reader034/viewer/2022052600/5579a50cd8b42ac1148b4a2e/html5/thumbnails/9.jpg)
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.
![Page 10: Segurança em php](https://reader034.vdocuments.site/reader034/viewer/2022052600/5579a50cd8b42ac1148b4a2e/html5/thumbnails/10.jpg)
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.
![Page 11: Segurança em php](https://reader034.vdocuments.site/reader034/viewer/2022052600/5579a50cd8b42ac1148b4a2e/html5/thumbnails/11.jpg)
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.
![Page 12: Segurança em php](https://reader034.vdocuments.site/reader034/viewer/2022052600/5579a50cd8b42ac1148b4a2e/html5/thumbnails/12.jpg)
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 = 'jo'sé' 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 ;
![Page 13: Segurança em php](https://reader034.vdocuments.site/reader034/viewer/2022052600/5579a50cd8b42ac1148b4a2e/html5/thumbnails/13.jpg)
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.
![Page 14: Segurança em php](https://reader034.vdocuments.site/reader034/viewer/2022052600/5579a50cd8b42ac1148b4a2e/html5/thumbnails/14.jpg)
Resumindo, a SQL Injection só significa uma coisa para nosso sistema:
![Page 15: Segurança em php](https://reader034.vdocuments.site/reader034/viewer/2022052600/5579a50cd8b42ac1148b4a2e/html5/thumbnails/15.jpg)
Usar a Função Addslashes(); Fazer validações na entrada; Usar prepared statements;
![Page 16: Segurança em php](https://reader034.vdocuments.site/reader034/viewer/2022052600/5579a50cd8b42ac1148b4a2e/html5/thumbnails/16.jpg)
Obrigado!