Foros del Web » Programando para Internet » PHP »

Sesiones y seguridad

Estas en el tema de Sesiones y seguridad en el foro de PHP en Foros del Web. Buenas, aqui vuelvo con algunas preguntas. Tengo un sistema y me gustaria que solo mi cliente ingresara a el, le invente un usuario y contraseña ...
  #1 (permalink)  
Antiguo 27/04/2006, 22:33
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 12 años, 5 meses
Puntos: 6
Sesiones y seguridad

Buenas, aqui vuelvo con algunas preguntas.

Tengo un sistema y me gustaria que solo mi cliente ingresara a el, le invente un usuario y contraseña y le hice la clasica pantalla de login. Cuando ingresa:

Código PHP:
<?
session_start
();
$usriuk=$_POST["usuario"];
$pswordy=$_POST["password"];
if(
$usriuk=="unusuario" && $pswordy=="unpassword")
{
    
$_SESSION["autentif"]=855622;
    
header("Refresh: 0; URL=menu_principal.php");
    exit();
}else{
    
header("Refresh: 0; URL=login.php");
    exit();
}

?>
Es decir, si los datos son correctos, redirecciona al sistema creando una variable con un codigo, sino, de nuevo al login.

Y luego, en cada pagina al comienzo le puse esto:

Código PHP:
<?
session_start
();
if (
$_SESSION["autentif"] != 855622
{
        
header("Location: login.php");
        exit();
}
?>
O sea, que si no coloco nunca el usr y password correctamente, es imposible que "autentif" este inicializado y entonces volvera al login. Esto funciona, si no estoy logueado no puedo ver el sistema.


Y ahora las dudas, es seguro esto? es un colador que le entra cualquiera? se puede mejorar? o directamente mejor deshecharlo y hacer otra cosa? xD recomendaciones? se acepta todo :D

Ya qu eestoy, otra dudilla... cuando voy a conectarme a una bd, suelo colocar las variables de usuario y contraseña de la bd en otro archivo, y este lo incluyo donde necesito hacer alguna conexion. Cual es la manera correcta de incluir esas variables de dicho archivo? esta bien si lo hago con include("conexion.php"); ? o se debe hacer de otra manera? o da igual?

Muchisimas gracias de antemano!!

Saludos.

Última edición por Fridureiks; 27/04/2006 a las 22:48
  #2 (permalink)  
Antiguo 28/04/2006, 03:31
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 12 años, 6 meses
Puntos: 7
A ver, empezando por el final, yo te recomendaria el uso de include_once(), en lugar del inlude(), asi si incluyes el archivo 2 veces, por ejemplo en la pagina metas 2 archivos que hagan uso de la Base de Datos, este archivo se incluye una sola vez.

Respecto a lo del sistema de autentificacion, mas o menos es el mismo sistema que uso yo, solo que uso Bases de Datos, y la contraseña la suelo enviar encriptada, eso si, en lugar de incluir en cada pagina el codigo completo
Código PHP:
<?
session_start
();
if (
$_SESSION["autentif"] != 855622
{
        
header("Location: login.php");
        exit();
}
?>
este lo pongo en un archivo aparte (seguridad.php) y este lo incluyo al principio de la pagina, asi cualquier cambio en este sistema solo lo hago en este archivo, en lugar de en todos los que esten bajo el sistema.

Espero que se me entienda.

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #3 (permalink)  
Antiguo 28/04/2006, 07:37
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 12 años, 5 meses
Puntos: 6
Cita:
Iniciado por Bytevamp
este lo pongo en un archivo aparte (seguridad.php) y este lo incluyo al principio de la pagina, asi cualquier cambio en este sistema solo lo hago en este archivo, en lugar de en todos los que esten bajo el sistema.
Si si, yo hago igual, solo que para explicar la pregunta obvie ese paso. Lo que me preocupa es si es seguro, pero bueno, si ya somos dos los que lo usamos... jeje me voy quedando mas tranquilo Gracias!
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 21:02.