Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17523
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Protegendo dados enviado por links GET

04-06-2014 10:09

Nesse post eu vou dar uma dica para quem quer proteger os dados enviados por links, tipo:

?valor=valor tal

Para quem usa banco de dados MySQL, pode ser necessário enviar determinados valores pelo link, para que esse valor seja validado em uma query, por exemplo:

?usuario=joao

WHERE usuario='".$_GET['usuario']."' 

Isso acaba deixando uma certa brecha no sistema, já que o visitante pode mudar o nome de usuário no link, para obter determinadas informações.

Minha dica é a seguinte, ao enviar os dados para o banco de dados, enviar um tipo de campo chave.
Esse campo no banco de dados tem que armazenar um valor único, que vai ser referência para aquele usuário.

Por exemplo, vamos supor que você envia o email do usuário para o banco de dados, então, você pode fazer o seguinte:

$chave = md5($email); 

Como mostrado acima, $chave vai ser enviada para o banco de dados, criptografada. $email tem que ser uma coluna que não vai se repetir em nenhum outro cadastro, um campo único para cada usuário.

Assim, você ao invés de passar o usuário pelo link, vai passar a chave, tipo:

?usuario=557cdc1b5906cbcea91f8ea08286f995

WHERE chave='".$_GET['chave']."' 

Você pode usar o tipo de criptografia que desejar.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado