Se que este es un tema muy tratado y con múltiples formas de hacerlo, sin embargo no logro encontrar la forma de escribir el código para que me funcione.
Encontré este script que me funciona perfectamente ya que no deseo utilizar base de datos y lo tengo en la página donde tengo que restringir el acceso:
Código PHP:
<?
// Autentifacion Multiple/Basica Utilizando $_SERVER['PHP_AUTH_USER'] y $_SERVER['PHP_AUTH_PW']
// By DeeRme
// http://deerme.org
// Listado de Usuarios Permitidos
$lista[0]['user']='usuario';
$lista[0]['pw']='contraseña';
$lista[1]['user']='usuario2';
$lista[1]['pw']='contraseña2';
function autentificar($u,$p)
{
global $lista;
foreach ($lista as $datos)
{
if ( ($datos['user'] == $u) AND ($datos['pw'] == $p) )
{
return TRUE;
}
}
return FALSE;
}
// $PHP_AUTH_USER,$PHP_AUTH_PW
$user = $_SERVER['PHP_AUTH_USER'];
$pass = $_SERVER['PHP_AUTH_PW'];
if ( !autentificar($user,$pass) )
{
header('WWW-Authenticate: Basic realm="Acceso restringido"');
header('HTTP/1.0 401 Unauthorized');
echo 'Autentifacion No Valida';
exit;
}
// Contiuamos la Carga del Sitio
?>
<?php
Código PHP:
<?php
session_destroy();
header("Location: index2.php");
?>
El caso es que no se si este código agrega cookie o sólo trabaja con el valor de la variable global.
También he probado a poner las variables a cero:
Código PHP:
$lista[0]['user']='';
$lista[0]['pw']='';
$lista[1]['user']='';
$lista[1]['pw']='';
¿Alguien podría ayudarme a solucionarlo con el procedimiento correcto?
Desde ya muchas gracias.