Foros del Web » Programando para Internet » PHP »

expertos para autenticar!!

Estas en el tema de expertos para autenticar!! en el foro de PHP en Foros del Web. Saludos A los que tienen mas experiencia, les pido sus consejos, criticas y/o sugerencias a este script que utilizo para autenticar un usuario... lo que ...
  #1 (permalink)  
Antiguo 01/05/2004, 09:51
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
expertos para autenticar!!

Saludos
A los que tienen mas experiencia, les pido sus consejos, criticas y/o sugerencias a este script
que utilizo para autenticar un usuario... lo que nesecito es que me quede muy muy segura la pagina... gracias

Código PHP:
session_start();
$base="users"; 
# recogemos en una variable el nombre de la TABLA 
$tabla="users"; 
# establecemos la conexion con el servidor 
$conexion=mysql_connect("localhost","to","to"); 
mysql_select_db($base,$conexion);
//la variable user y pass son pasadas por un formulario con metodo post 
$resultado= mysql_query("SELECT nick, pass FROM $tabla WHERE (nick= '$user'&& pass='$pass') ",$conexion); 
$registro = mysql_fetch_row($resultado);
if ( !$registro[0]== "" ){
    $x = 5;
}
else{
$x = 1;
}
# cerramos la conexion 
 mysql_close();  
?>

<?
if ($x == 5){
echo (
"datos correctos");
$_SESSION['usuario_id']=$user;
inlcude_once ("../panel.php");
    }
else{
echo (
"vuelve a intentarlo, sus datos no son correctos");    
}
?>
inicio una sesion, por que la autenticación que pido, es para un panel de control, lo que significa que constantemente necesito saber de que usuario se trata...

unerror que me parec muy curioso es el siguiente:
cuando entro al script de validación directamante(osea, sin utilizar el formulario)me carga la pagina y me dice "vuelva a intentarlo..." eso esta bien, pero si doy click en el boton atras del explorador, y luego doy click en el boton de adelante del navegador, entonces me aparece el siguiente error:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\apache\htdocs\uniderecho v1.2\php\valida.php

aun no se por que!!!!
de antemano muchas gracias, espero su pronta respuestas
__________________
SEO en Medellin
  #2 (permalink)  
Antiguo 01/05/2004, 18:51
Avatar de Blag  
Fecha de Ingreso: septiembre-2003
Ubicación: Lima
Mensajes: 68
Antigüedad: 20 años, 7 meses
Puntos: 0
Bueno, para empezar, tanto en la validación como en el ingreso de nuevos usuarios, deberías utilizar una función de encriptación, como la MD5.

Un ejemplo:

Código PHP:
$resultadomysql_query("SELECT nick, pass FROM $tabla WHERE (nick= '$user'&& pass=md5('$pass')) ",$conexion); 
En donde el password que se encuentra en la BD ya está encriptado con anterioridad.

El problema que mencionas cuando entras al script directamente, puede deberse a que no haces una comprobación de la sesión.

Código PHP:
if(isset($_SESSION["administrador"]) == true)
{
if(
$_SESSION["administrador"] == "miPassword")
{
.......
CODIGO......
}
else
{
.......
CODIGO......
}
else
{
.......
CODIGO......
}

Un último consejo.....no declares las variables como globales, mejor utiliza:

Código PHP:
$_POST['user']
$_POST['pass'
Saludos,

Blag
__________________
Alvaro Tejada Galindo
Consultor ABAP FI/HR
SinglePath's Experimental HomePage
Foro de ABAP en SoloCodigo.com
Revista "Código Latino"
  #3 (permalink)  
Antiguo 01/05/2004, 19:01
 
Fecha de Ingreso: noviembre-2003
Mensajes: 1
Antigüedad: 20 años, 5 meses
Puntos: 0
Justo eso iba a decir......

que pasaría si pones http://127.0.0.1/loquesea.php?x=5
Obviamente el intruso debería saebr cual es la variable y cuanl el valor, pero siendo que lo mostrás acá....
  #4 (permalink)  
Antiguo 01/05/2004, 22:39
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
muchas gracias por sus sugerencias...
las tendre muy en cuenta!!
eso del encriptado es algo que habia pasado por alto...

GRACIAS
__________________
SEO en Medellin
  #5 (permalink)  
Antiguo 02/05/2004, 10:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El proceso de "Autenficación" pasa por dos cosas:

1) validar a tu usuario contra tu BD o médio de almacenamiento de tus datos a validar (usuario/contraseña o lo que corresponda)

2) "Tracking" (se escribe así?) "seguimiento" del usuario en sus páginas que requieran autentificación. Esto lo haces validando (como ya han comentado) las variables de sesión que habrás creado al autentificar a tu usuario .. Puede ser una variable tipo "flag" (bandera) como ese típico comprobar la existencia de una variable de la sesión (sin importar el valor) o bien definiendo alguna variable en la sesión como el típico "nombre del usuario" (y/o identificador de tu BD correspondiente a ese usuario) para usarlo en tus registros de acciones que haga ese usuario autentificado en tu aplicación.

Esta "teoría" es aplicable a cualquier sistema de autentificació sea basado en cookies, sesiones, o incluso autentificación HTTP donde es el própio servidor HTTP el que hace la comprobación (.htacces me refiero) u otros sistemas donde o bien nosotros (nuestra programación) tendrá que validar .. o ya lo harán otros médios.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:41.