Segurança em aplicação Web em PHP

A segurança lógica em uma aplicação web é indispensável, mesmo conectado em uma rede mundial, os dados devem estar íntegros garantindo sua confidencialidade, conforme descreve Figueiredo (1999 p. 1):

Com o rápido crescimento da web e com a diversificação de sua utilização, a segurança se tornou um ponto de importância crucial, principalmente para quem tem a web como um dos principais apêlos comerciais.

Utilizando métodos de criptografia de senhas, tratamentos de dados de formulários e verificações de existência de sessão, contribuem para que o aplicativo se torne confiável.


Message Digest Cinco (MD5)



O método Message Digest (MD) utiliza um algoritmo hash para criar uma síntese de tamanho fixo, com base em um valor de tamanho máximo de duzentos e cinqüenta e cinco caracteres. A função denominada MD5, produz um valor de 120 bits de tamanho, contendo uma string alfanumérica. (FOROUZAN, 2004)
Este algoritmo é unidirecional, ou seja, não é possível que o valor convertido seja transformado novamente no texto de origem.  A função MD5 pode ser utilizada para gravar o resultado da operação com base em um valor de uma senha, ou seja, codificá-la. Deste modo a informação será preservada, pois não será armazenado seu valor oficial. Usuários que possuem acesso ao banco de dados não conseguem visualizar a senha real. A sintaxe utilizada para a criptografia MD5 no PHP é muito simples, só é necessário realizar a função “md5()”, e informar a variável a ser calculada. Para certificar se a senha esta correta no momento do acesso é feito novamente a codificação e o resultado é comparado com o existente no banco de dados.


Injeção de SQL


A injeção de SQL é um dos métodos utilizados para invasão em aplicativos web, onde o acesso é limitado por inserção de senhas. A maioria das aplicações utiliza banco de dados, onde são enviados sintaxes pelo script do servidor, a qual recebe seus parâmetros da linguagem HTML.
Segundo Santos (2008 p.133):

Falhas de injeção acontecem quando os dados que o usuário dá de entrada são enviados como parte de um comando ou consulta. Os atacantes confundem o interpretador para o mesmo executar comandos manipulados enviado dados modificados. As falhas de injeção habilitam o atacante a criar, ler, atualizar ou apagar arbitrariamente qualquer dado disponível para a aplicação.

As variáveis enviadas pelo formulário do HTML ao servidor, para tratamento em uma consulta ao banco de dados, representam um risco em manipulação de um comando, para que a resposta seja afirmativa de qualquer maneira, concedendo acessos indevidos, visualização de informações ou exclusão de dados.
O tratamento em funções específicas no script PHP, para detectar conteúdo em dados recebidos pelo cliente soluciona grande parte dos problemas de injeção de SQL. É importante a validação de dados recebidos, antes que sejam enviados para uma sintaxe do banco de dados.


Nenhum comentário:

Postar um comentário