Sie sind auf Seite 1von 3

CARACTERSTICAS HTTP

Protocolo sin estado (stataless).- (en ingls stateless protocol) es un


protocolo de comunicaciones que trata a cada peticin como una
transaccin independiente que no tiene relacin con cualquier solicitud
anterior, de modo que la comunicacin se compone de pares
independientes de solicitud y respuesta.
Un protocolo sin estado no requiere que el servidor retenga informacin de
la sesin o de estado acerca de cada socio de las comunicaciones durante la
duracin de mltiples peticiones.
Las aplicaciones Web necesitan un estado.- un protocolo que requiere el
mantenimiento del estado interno en el servidor se conoce como un
protocolo con estado.
AUTENTICACIN DE USUARIOS
Se lo implementa del lado del web server o llamando tambin servidor web
o http siendo procesado del lado del servidor, en donde realiza conexiones
bidireccionales o unidireccionales y sncronas o asncronas con el cliente, lo
cual genera una respuesta con en la aplicacin del lado del cliente
Request.getRemoteUser().- Devuelve el inicio de sesin del usuario que
realiza la solicitud , si el usuario ha sido autenticado, o null si el usuario no
ha sido autenticada .
AUTENTIFICACIN HTTP CON EL MDULO APACHE.
VENTAJAS.
Es una tcnica de autenticacin sencilla que utiliza la cabecera del
protocolo HTTP. Con sus variables globales, $PHP_AUTH_USER,
$PHP_AUTH_PW, para controlar el acceso restringido a una zona de
nuestra aplicacin web.
Lo que hace esta restriccin es mostrar una ventana pop up que
solicita el ingreso de un usuario y su respectivo password y lo
almacena
en
las
variables
globales:
$PHP_AUTH_USER,
$PHP_AUTH_PW, respectivamente, y estas las compara con los logins
almacenados ya sea en un archivo plano de texto(.txt) o en una base
datos como mysql.
DESVENTAJAS.
Si tu aplicacin web lo van a usar en lugares pblicos, como
cibercafes, en la universidad o entro lugar donde tengan activado
algn firewall o bloqueados los POP UP, no podras autenticarte, para
ingresar a tu aplicacin web.
Si no se utiliza con algn tipo de encriptacin suele ser fatal este tipo
de autenticacin.
Dificultad en la administracin de permisos.
AUTENTICACIN UTLIZANDO LAS CONSULTAS SQL
VENTAJAS
Muy Prctico cuando guardamos nuestros usuarios en una base de
datos
Fcil administracin de los usuarios.
Scripts sencillos o de fcil comprensin para la autenticacin de los
usuarios.
DESVENTAJAS.

Vigilar la inyeccin SQL en este tipo de autenticacin, es muy comn


encontrar hackers que hacen un festn con este tipo de
autenticaciones que no tomen sus medidas de seguridad respectiva
para el ingreso de sus datos.
AUTENTICACIN HTTP
La autentificacin HTTP ocurre cuando el navegador del usuario muestra
una ventana emergente de Autentificacin requerida, solicitando usuario y
contrasea para poder ingresar a un determinado sitio.
Las caractersticas de autentificacin HTTP en PHP solo estn disponibles
cuando se est ejecutando como un mdulo en Apache y hasta ahora no lo
estn en la versin CGI (interfaz de entrada comun). En un script PHP como
mdulo de Apache, se puede usar la funcin header() para enviar un
mensaje de "Autentificacin requerida" al navegador cliente haciendo que
muestre una ventana de entrada emergente con nombre de usuario y
contrasea. Una vez que el usuario ha rellenado el nombre y la contrasea,
la URL que contiene el script PHP ser llamada de nuevo con las variables
predefinidas PHP_AUTH_USER , PHP_AUTH_PW , y AUTH_TYPE asignadas con
el nombre de usuario, la contrasea y el tipo de autentificacin
respectivamente. Estas variables predefinidas se pueden encontrar en las
matrices $_SERVER y $HTTP_SERVER_VARS . Slo autentificacin "Bsica"
est soportada en este momento. Consulte la funcin header()es usado para
enviar encabezados HTTP sin formato.
Nota sobre la versin PHP: Las Autoglobales , tales como $_SERVER, han
estado disponibles desde la versin de PHP 4.1.0 . $HTTP_SERVER_VARS ha
estado disponible desde PHP 3.
Mostrar la ventana emergente
Lo primero es enviar un header al navegador indicndole que el sitio
requiere autentificacin, este mostrar automticamente una ventana
emergente solicitando las credenciales del usuario. Para ello crearemos un
funcin que se encarga de enviar los headers necesarios, notase que en
Basic realm podemos personalizar el nombre del servicio y al final
escribimos el mensaje para cuando el usuario no puede ingresar.
1.
function showLogin() {
2.
header('WWW-Authenticate: Basic realm="Demo System"');
3.
header('HTTP/1.0 401 Unauthorized');
4.
echo "Usted no tiene permisos para ingresar.\n";
5.
exit;
6.
}
Verificando los datos ingresados
Una vez que el usuario ha ingresado los datos de acceso estos se pueden
acceder con PHP con las siguientes constantes predefinidas.

$_SERVER[PHP_AUTH_USER]: nombre de usuario ingresado.

$_SERVER[PHP_AUTH_PW]: clave ingresada por el usuario.


Luego verificamos si existe la variable con el nombre del usuario, en el caso
que no exista mostramos la pantalla de login con la funcin antes creada, si
existe la comparamos para verificar si el usuario y clave son correctos. En el
caso los datos sean correctos redireccionamos al usuario por ejemplo a la
pgina solicitada de lo contrario mostramos nuevamente la pantalla de
login.

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.

$username = $_SERVER['PHP_AUTH_USER'];
$userpass = $_SERVER['PHP_AUTH_PW'];
if (!isset($username)) {
showLogin();
} else {
if ($username == "demo" && $userpass == "pass") {
header("Location: http://blog.unijimpe.net/");
} else {
showLogin();
}
}

Das könnte Ihnen auch gefallen