note 16562 added to features.http-auth
| From: | francisco at masplus dot com | Date: | Sun, 04 Nov 2001 13:05:22 +0000 |
| Subject: | note 16562 added to features.http-auth | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-20419@lists.php.net to get a copy of this message | ||
Siento que estos foros no esten en Español y que otros colegas de idioma no inserten aqui sus
programas en PHP.
Por mi parte os dire que me han servido de gran ayuda. Gracias a todos los programas de esta pagina,
he logrado realizar uno que a mi me funciona.
Este es el resultado para quien lo desee.
Se trata de validar usuarios de una base de datos MySQL
<?
function no_auth_msg() {
global $PHP_SELF;
$page = basename($PHP_SELF);
echo "<h1>Autorización 401 Requerida</h1>";
echo "Este servidor no puede verificar que su autorización a tener acceso al documento
solicitado. ";
echo "O usted ha indicado credenciales incorrectas (Ej.- palabra de paso incorrecta), o su
browser no ";
echo "entiende cómo indicar las credenciales requeridas. Por favor ";
echo "<a href=\"http://www.masplus.com/inmuebles/$page\">";
echo "click here</a> intentarlo otra vez";
}
function authenticate() {
Header("WWW-Authenticate: Basic realm=\"http://www.masplus.com/inmuebles\",
stale=FALSE");
Header("HTTP/1.0 401 Unauthorized");
no_auth_msg();
exit;
}
if (isset($PHP_AUTH_USER)) {
// VERIFICAR USUARIO Y CLAVE
include ("../cgi-bin/claves_acceso.php");
mysql_connect($servidor,$usuario,$password) or die("Incapaz conectar con el servidor del
SQL");
mysql_select_db($basedatos) or die( "Incapaz seleccionar la base de datos");
$sql = "SELECT * FROM Inmueblesmpagencia_c WHERE Usuario1=\"$PHP_AUTH_USER\"
AND Clave=\"$PHP_AUTH_PW\"";
if (!($result = mysql_db_query($basedatos, $sql))) {
die("Incapaz tener acceso a la base de datos. Por favor intento otra vez más
adelante.");
}
if (mysql_num_rows($result) >0) {
// User is valid
header("Location: Miembros.php");
exit;
} else {
// El utilizador es inválido
authenticate();
}
} else {
// el username todavía no se fija
// Show authentication dialogue
authenticate();
}
?>
Las claves de usuario por razon de seguridad las he puesto aparte.
--
http://www.php.net/manual/en/features.http-auth.php
http://master.php.net/manage/user-notes.php?action=edit+16562
http://master.php.net/manage/user-notes.php?action=delete+16562
http://master.php.net/manage/user-notes.php?action=reject+16562