Ressources » PHP
Ce tutoriel a pour but de vous faire découvrir d'une manière simple et intuitive les principales possibilités offertes par PHP dans sa version 5 pour manipuler des données XML.
Une session est un mécanisme géré de manière transparente par le serveur PHP.
Une création de session génère un identifiant unique. Ce dernier est attribué à l'internaute et le suivra tant que la session sera active.
Dès lors, on peut créer des variables, dites de sessions qui seront sauvegardées sous forme sérialisée dans un fichier texte portant le nom de la session.
Deux manières d'assurer le transfert de cette identifiant unique :
Ces deux processus de propagation sont gérés de manière automatique par le seuveur PHP. Si le navigateur du client accepte les cookie, la première méthode sera priviligiée, si non ce sera la deuxième.
Cependant, il est possible de forcer le serveur à utiliser une méthode bien particulière, par exemple les cookies.
ini_set('session.use_trans_sid', false);
ini_set('session.use_only_cookies', false);
session_start();
Astuce : Cette méthode est bien utile, notamment si vous souhaitez que votre site soit reconnu comme valide en XHTML Strict !
Mais ceux qui n'accepte pas les cookies, n'accederons pas à votre espace sécurisé.
if ( !isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])){
header('WWW-Authenticate: Basic realm="Authentification"');
header('HTTP/1.0 401 Unauthorized');
echo 'Acces non autorisé';
exit;
}else{
echo 'Utilisateur authentifié';
}
Explication : La fonction header() demande une identification "Authentication Required" au client, générant ainsi l'apparition d'une fenêtre. Cette dernière demande un nom d'utilisateur et un mot de passe au visiteur.
Une fois que ces derniers informés, la page se recharge en passant les variables PHP_AUTH_USER, PHP_AUTH_PW et AUTH_TYPE, contenant respectivement le nom d'utilisateur, le mot de passe et le type d'identification.
Ces variables pré-définies appartiennent aux tableaux $_SERVER.
Note de compatibilité : Afin de garantir un maximum de compatibilité entre les navigateurs, le mot clé "Basic" doit être écrit avec un B majuscule, et le texte de présentation doit être placé entre guillemets simples, et exactement un espace doit précéder le code 401 dans l'en-tête HTTP/1.0 401.
Actuellement, seule l'identification simple "Basic" est supportée.
Plus de codes sources :
A vous de choisir le type d'authentification que vous souhaitez mettre en place, en fonction de vos besoins et/ou de vos contraintes (technique, graphique...).
Quelques bonnes adresses :