Foros del Web » Programando para Internet » PHP »

Porque no funciona misistema de autentificacion

Estas en el tema de Porque no funciona misistema de autentificacion en el foro de PHP en Foros del Web. Hola soy yo de nuevo espero y me puedan ayudar. Bueno tengo un problema con un pequeño sistema de autentificacion. El sistema consta del formulario, ...
  #1 (permalink)  
Antiguo 22/12/2004, 00:54
 
Fecha de Ingreso: noviembre-2003
Ubicación: Puente de ixtla
Mensajes: 773
Antigüedad: 21 años
Puntos: 0
Porque no funciona misistema de autentificacion

Hola soy yo de nuevo espero y me puedan ayudar.
Bueno tengo un problema con un pequeño sistema de autentificacion. El sistema consta del formulario, un archivo que procesa y decide si estan correctos los datos y otro que es una capa por si quieren meter la direccion por la url, y todos los archivos que quiero verificar les pongo u include para que antes de abrir el archivo me verifique que esta autentificado y hay resulto el problema que al intentar verificar no me funciona y si no incluyo la capa en los archivos que quiero verificar no me accesa.

Aqui pongo el codigo de mi archivo que procesa y el de la capa:

autentificacion.php
Código PHP:
<?
include("../configuracion.php");
$conn mysql_connect("$host","$user","$pass") or die ("<h1><p align=center>Error en la coneccion de la Base de Datos</p></h1>");
mysql_select_db("$dbname",$conn) or die ("<h1><p align=center>Error en la base de datos, no existe o esta mal escrito el nombre</p></h1>");

//Sentencia SQL para buscar un usuario con esos datos 
$ssql "SELECT * FROM admins_librovisitas_php WHERE nombre_usuario='$usuario' and clave_usuario='$contraseña'"

//Ejecuto la sentencia 
$rs mysql_query($ssql,$conn); 

//vemos si el usuario y contraseña es váildo 
//si la ejecución de la sentencia SQL nos da algún resultado 
//es que si que existe esa conbinación usuario/contraseña 
if (mysql_num_rows($rs)!=0){ 
    
//usuario y contraseña válidos 
    //defino una sesion y guardo datos 
    
session_start(); 
    
session_register("autentificado"); 
    
$autentificado "SI"
    
header ("Location: modificaciones.php"); 
}else { 
    
//si no existe le mando otra vez a la portada 
    
header("Location: index.php?errorusuario=si"); 

mysql_free_result($rs); 
mysql_close($conn); 
?>
y aqui esta el archivo de la capa:
capa.php

Código PHP:
<?
session_start
();
if(
$autentificado!="si")
{
header("location:index.php");
exit();
}
?>
<br>
<a href="salir.php">Salir de la Aplicacion segura</a>
<br>
A que se debera eso que me sucede, se los agradeceria si me pudieran ayudar
__________________
°º¤ø,¸¸,ø¤º°`°º¤ø,¸S@M°º¤ø,¸¸,ø¤º°`°º¤ø,¸.
Dios solo nos dio el 0 y el 1 y con solo eso hemos construido un universo
  #2 (permalink)  
Antiguo 22/12/2004, 07:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
* Usa exit; tras los header() (de location). EN todos los que los uses!.

* No uses session_register() para registrar variables en sesiones .. usa $_SESSION (el array superglobal) .. Sobre todo si usas PHP versión 4.1.0 en adelante. Es más seguro y standard. (en las FAQ's de este foro tienes ejemplos de uso y explicación al respecto).

* Esos mysql_free_result() y el close para Mysql en ese punto podrías omitirlos .. PHP ya cierra y libera memoria al terminar el script .. en tu caso justamente los usas al final del mismo ..

Despues de todo esto habría que ver como propagas el SID . .en tu caso "asumes" que PHP lo hará por defecto y bajo una cookie (por qué usas header() de "Location" y no propagas ahí en el URL que apuntas en el redireccionamiento el SID).

Por ende .. tu php requiere de la configuración:
session.use_cookies = ON

y un navegador que acepte Cookies + que ningún otro software tipo firewall, proxy o similar esté denegando el acceso a esas cookies.

Un saludo,
  #3 (permalink)  
Antiguo 22/12/2004, 23:31
 
Fecha de Ingreso: noviembre-2003
Ubicación: Puente de ixtla
Mensajes: 773
Antigüedad: 21 años
Puntos: 0
Gracias cluster me ha servido mucho se ha solucionado mi problema gracias
__________________
°º¤ø,¸¸,ø¤º°`°º¤ø,¸S@M°º¤ø,¸¸,ø¤º°`°º¤ø,¸.
Dios solo nos dio el 0 y el 1 y con solo eso hemos construido un universo
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:20.