Hola a todos. Os explico lo que me pasa a ver si me podéis ayudar.
He programado (a partir de un código ya hecho, que he modificado) un script para acceder a una zona restringida de mi página en mi@.
El script es el siguiente:
Código:
<?php // archivo admin/admin.php
// Esta página permite:: // 1) Validación del usuario administrador // En esta página no se actualiza ningún dato de // la base de datos sino que // se actualiza la matriz $_SESSION // se inicia o reinicia una sesión session_start(); //////////////////////////////////////////// // archivos de inclusión //////////////////////////////////////////// require_once("../bib/base/funciones.php"); //vervariables(); ////////////////////////////////////////// // Autenticación HTTP ////////////////////////////////////////////
if (!isset($_SESSION['Autenticado'])){ // esta cabecera debe codificarse con la palabra Basic // tal como está escrita, con B mayúscula // y el nombre de la zona debe estar entre comillas dobles // no simples header('WWW-Authenticate: Basic realm="Zona Admin"');
// respetar esta codificación, el blanco antes del número de error // 401 header('HTTP/1.0 401 Unauthorized'); echo LIT08001; echo " ".$_SESSION['Autenticado']." "; $_SESSION['Autenticado']= 0; exit; } if ($_SESSION['Autenticado']==0){ if (validarAdmin($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW'])) { echo "<h3>".LIT08002."</h3>"; echo " ".$_SESSION['Autenticado']." "; redirect("mantdepto.php"); } else { echo "<h3>".LIT08003."</h3>"; echo " ".$_SESSION['Autenticado']." "; echo "<form method='POST'>n"; echo "<input type='submit' value='Inicio de sesión'>n"; echo "</form></p>n"; } }
?>
El caso es que cuando a la función validarAdmin me da error de acceso. Pongo el código de la función:
Código:
function validarAdmin($sLogin, $sPasswd) {
// intenta conexión con la base de datos // si el usuario no está en la tabla user de MySQL // no se podrá establecer la conexión Global $con;
$con= mysqli_connect(SERVIDOR,$sLogin, $sPasswd); if (!$con) { return FALSE; } // selección de la base de datos mysqli_select_db($con,DBASE); // Como doble verificación se comprueba que el usuario // también esté en la tabla Cuentas de la base de datos require_once("clCuenta.php"); $oCuenta = new Cuenta($sLogin); if ($oCuenta->validarCuenta($sPasswd)){ // autenticación OK // carga la matriz $_SESSION $_SESSION["LOGIN"]=$sLogin; $_SESSION["PalabraPaso"]=$sPasswd; $_SESSION['Autenticado']=1; return TRUE; } else { // autenticación KO unset($_SESSION['Autenticado']); return FALSE; } } // fin de función validarAdmin()
Como SERVIDOR tengo programado que utilice minombredelapagina.webcindario.com
y como login y palabrapaso mi login de miarroba y mi contraseña. He probado también con mi login de la página y mi contraseña. Pero no me deja.
¿alguien puede decirme como programar esto?
¿es que mi@ no deja utilizar este tipo de protección?
¿qué protección PHP me sugerís para proteger una zona de mi web de mi@?
TU NO PUEDES Escribir nuevos temas TU NO PUEDES Responder a los temas TU NO PUEDES Editar tus propios mensajes TU NO PUEDES Borrar tus propios mensajes