Procurar
Palavras-chaves
Últimos assuntos
Tópicos mais visitados
Tópicos semelhantes
Autentificar usuario com número randômico
Página 1 de 1
Autentificar usuario com número randômico
-------------------conexao.php---------------------------------
$conecxao= mysql_connect('host', 'usuario', "senha"); /
$banco = mysql_select_db ("banco_de_dados", $conecxao); /
----------------------------------------------------------------
usamos uma função para evitar o uso de sql injection
Fonte:http://phpbrasil.com/articles/print.php/id/1518
------------------------antisql.php----------------------------------------------------------------------------------------------
FUNÇÃO PARA EVITAR SQL INJECTION
function anti_sql_injection($string)
{
$string = get_magic_quotes_gpc() ? stripslashes($string) : $string;
$string = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($string) : mysql_escape_string($string);
return $string;
}
------------------------------------------------------------------------------------------------------------------------------------
Recebemos as variaveis do formulario de login, se ambas as variaveis forem diferentes de vazias, incluimos a conexão com o banco de dados
e a função anti-sql injection. Selecionamos o usuario, se o numero de resultados for somente 1{ comparamos mais uma vez se os resultados
são iguais, criamos um codigo randomico, inserimos ele em uma cookie e atualizamos o registro do usuario com aquele valor que nunca
se repetira,
--------------------controlelogin.php-----------------------------------------------------------------------------------------
$login=$_POST['login'];
$senha=$_POST['senha'];
if ($login !="" and $senha !=""){
require('conexao.php');
require('antisql.php');
$selecionausuario=mysql_query("SELECT * from usuarios where login= '".anti_sql_injection($login)."' and senha = '".anti_sql_injection($senha)."'");
$arraydousuario=mysql_fetch_array($selecionausuario);
if(mysql_fetch_row($selecionausuario)==1){
if ($arraydousuario['login'] =="$login" and $arraydousuario['senha'] =="$senha")
{
$aux = time();
$codigochave = substr(md5($aux),0,30);
$updateusuario=mysql_query("UPDATE usuarios set numero ='".anti_sql_injection($codigochave)."' WHERE senha='$senha' and login='".anti_sql_injection($login)."' ");
setcookie("chave", $codigochave);
}
}}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
pegamos a cookie, selecionamos todos os usuarios que batam com a variavel $chave, se o resultado for apenas um e baterem as informações,
então dizemos que $autorizado = true. Essa variavel sera usada para autentificar todas as ações que você quiser em seu site
---------------autentificacao.php-------------------------------------------------------------------------------------------
require('conexao.php');
require('antisql.php');
$chave=$_COOKIE['chave'];
$usuario=mysql_query("SELECT * FROM usuarios WHERE numero ='".anti_sql_injection($chave)."'");
if(mysql_num_rows($usuario)==1){
$formusuario=mysql_fetch_array($usuario);
if($formusuario['numero'] ==$chave)
{
$autorizado=true;
}}else
{$autorizado=false;
setcookie ('chave');
}
}
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Qua 16 Nov - 16:14 por fernandosena
» Segurança e redes sem fio
Qua 16 Nov - 16:11 por fernandosena
» Nokia lançará tablet com Windows 8 em junho de 2012, diz executivo
Qua 16 Nov - 16:05 por fernandosena
» Empresa registra aumento de 472% no número de vírus para Android
Qua 16 Nov - 16:03 por fernandosena
» YouTube investe US$ 100 milhões em vídeos
Sex 7 Out - 8:34 por fernandosena
» Todos os títulos futuros da Microsoft devem trazer suporte para o Kinect
Sex 7 Out - 8:25 por fernandosena
» Resident Evil 5 - PC
Sex 7 Out - 8:22 por fernandosena
» Novo trailer de Assassin’s Creed Revelations é lançado
Sex 7 Out - 8:12 por fernandosena
» Biostar apresenta nova placa-mãe que permite acesso remoto via smartphones
Sex 7 Out - 8:08 por fernandosena