http://maximilianogarro.com.ar/
El código en cuestión:
fns_login.php
Código
login.php
//Reporte de error function error($error){ exit; } //Conectamos a la base de datos function db_login(){ //Conectamos a la db $host = '------'; $userdb = '------'; $passdb = '------'; $db = '------'; if($connect === false){ return false; error("Error: No se a podido conectar a la base de datos."); }else{ //Si se conecto seleccionamos la db if($selectdb === false){ return false; }else{ return true; } } } //cifrar con contraseña function cifrar($pass){ return $passsafe; } //Verifica si esta logeado. function firewall(){ //verificamos que existan las cookies { //Inicializamos VariablesS $key = $_COOKIE['sistema']; $userid = $_COOKIE['sistema2']; //Conectamos ala db $connect = db_login(); //Si la selecciono procedemos con la consulta if ($connect === true){ $loginquery = sprintf("SELECT * FROM `usuarios_sess`,`usuarios_log` WHERE `usuarios_sess`.`fkusuario`= '%s' AND `usuarios_log`.`pkusuario_log` = `usuarios_sess`.`fkusuario_log`;", mysql_real_escape_string($userid)); error("Error: Intente nuevamente."); }else{ $keydb = $usuariodb['KEY']; $ip = $usuariodb['ip']; //Comparamos Key e IP para evitar que nos roben la cookie :D if ($keydb != $key || $ip != $_SERVER['REMOTE_ADDR']) { error("Error: Debe logear para ver esta pagina."); } } } }else{ } }
Código
logout.php
//Iniciamos Session //Incluimos funciones include_once('fns_login.php'); //Validamos que las variables del captcha existan error("Error: Intenta acceder a este sitio de una forma incorrecta."); }else{ //Validamos que las varibles encriptadas sean iguales error("Error: Nos has introducido el codigo correcto."); }else{ //Destruismos variables captcha //validamos variables $user = $_POST['user']; $pass = $_POST['pass']; //ciframos password con sha1 y contraseña $passsafe = cifrar($pass); error("Error: Nombre de usuario invalido."); }else{ error("Error: Contraseña con caracteres invalidos."); }else{ //Conectamos ala db $connect = db_login(); //Si la selecciono procedemos con la consulta if ($connect === false){ error("Error: No se pudo conectar con la base de datos."); }else{ //Si la selecciono procedemos con la consulta $loginquery = sprintf("SELECT `pkusuario` FROM `usuarios` WHERE `usuario`='%s' AND `password`='%s'", ); error("Error: El usuario no existe."); }else{ // Ya logio => obtenemos datos $userid = $usuariodb['pkusuario']; $ip = $_SERVER['REMOTE_ADDR']; $navegador = $_SERVER['HTTP_USER_AGENT']; //ciframos un key unico de usuario $key = cifrar($ip.$fecha); //almacenamos logs por seguridad y consulta futura $logs = "INSERT INTO `usuarios_log` (`pkusuario_log` ,`fkusuario` ,`ip` ,`localhost` ,`navegador` ,`login` ,`logout`) VALUES ('null', '".$userid."', '".$ip."', '".$localhost."', '".$navegador."', '".$fecha."', '".$fecha."');"; //borramos si existia session //entonces alamacenamos los nuevos keys $keylogs = "INSERT INTO `usuarios_sess`(`KEY` ,`fkusuario` ,`fkusuario_log`) VALUES ('".$key."', '".$userid."', '".$idlogs."');"; if (($almacenalogs === false) && ($almacenakeylogs === false)){ error("Error: No se puede iniciar existe un error al conectar."); }else{ die; } } } } } } }
Código
include_once('fns_login.php'); $key = $_COOKIE['sistema']; $userid = $_COOKIE['sistema2']; $connect = db_login(); //Si se conecto a la db if ($connect === true){ $logoutquery = sprintf("UPDATE `usuarios_log` SET `logout` = '".$fecha."' WHERE `pkusuario_log` = (SELECT `fkusuario_log` $keysess = sprintf("DELETE FROM `usuarios_sess` WHERE `fkusuario` = '%s';", mysql_real_escape_string($userid)); } } }else{ }
Link de descarga del codigo:
http://www.4shared.com/file/_eUj3D8u/userlogin_by_beringer.html