Restringir acceso a páginas

Ustedes, los expertos me han ayudado anteriormente y confío que esta no es la excepción.
Tengo un formulario en el cual válido los datos entrados con una base de datos en MySql. Este formulario se llama login.php
Tengo un archivo llamado logincontrol.php que se encarga de conectarme a la base de datos y comparar los datos entrados con la base de datos.
Tengo un archivo de seguridad llamado security.php. Este se encarga de iniciar una session y se encarga de llevar al visitante nuevamente a la página login.php en caso de no haberse autentificado anteriormente.
La situación es que estos archivos los ejecuto localmente en mi pc con Windows Xp y IIS 5.1 y todo funciona perfectamente, en resumen. (Si en la barra de direcciones escribo o trato de accesar directamente a una de las páginas .php protegidas; no me permite entrar a menos que me haya autentificado primero a través de login.php)
Ahora el problema:
En el servidor que corre Windows 2000 Server, ésto no me funciona, lo que sucede es que cuando entro los datos de autentificar en login.php, la página que aparece es login.php nuevamente y no aparece la primera página.php protegida.

1 Respuesta

Respuesta
1
Quisas sea un problema con la configuracion del php, hay una opcion en el php.ini que se llama register_globals si esta opcion esta "ON" toda variable que pases por la URL (blabla.php?variable=as) o los campos que envias desde un form se crea automaticamente en el script php, ahora si esa opcion esta "OFF" vas a tener que recuperar el valor de los campos del form usando...
$usuario = $_POST["nombre_campo"];
Entonces lo que puede estar pasando en tu script es que en el WIN XP tengas el REGISTER_GLOBALS en ON entonces ahí si reconoce las variables, en cambio cuando pasas al WIN 2000 con el REGISTER_GLOBALS en OFF al no tomar el valor de las variables con...
usuario = $_POST["nombre_campo"];
El script falla.
Solución.
Si tienes acceso al php.ini del WIN 2000 busca la opción REGISTER_GLOBALS y ponla ON y reinicia el web server.
Si no tienes acceso al php.ini recupera el valor de las variables usando...
$usuario = $_POST["nombre_campo"];
Y si la variable se pasa por la url es...
$usuario = $_GET["nombre_campo"];
El php.ini esta en la carpeta de windows.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas