Comment Autoriser

Table des matières:

Comment Autoriser
Comment Autoriser

Vidéo: Comment Autoriser

Vidéo: Comment Autoriser
Vidéo: Pare feu Windows : comment autoriser/bloquer une application 2024, Peut
Anonim

Il arrive souvent qu'il soit nécessaire de diviser les visiteurs en désirables et indésirables, et de ne donner la possibilité de voir certaines pages du site qu'à ceux qui ont un nom d'utilisateur et un mot de passe. Comment faire cela, par exemple, dans le langage de script côté serveur PHP ?

Comment autoriser ?
Comment autoriser ?

Instructions

Étape 1

Organisons le moyen le plus simple de protéger vos pages des visiteurs non autorisés. Le porteur d'informations indiquant si le visiteur est autorisé sera la session. Une session est un analogue des cookies dans un navigateur, à la seule différence qu'ils ne sont pas créés sur notre ordinateur, mais sur le serveur. Et ils sont utilisés dans le même but que les cookies - pour stocker différentes informations à notre sujet pendant que nous allons d'une page à l'autre d'un site. Lorsque nous fermons le navigateur, le serveur détruit cette session, et la prochaine fois que nous nous connectons, il en crée une nouvelle. Nous utilisons ce mécanisme de serveur pour enregistrer si l'utilisateur est déjà connecté à la session ou non. En lisant ces informations, lorsqu'un visiteur demande une page, le script php ouvrira l'accès aux pages protégées par mot de passe ou proposera de saisir un nom d'utilisateur et un mot de passe.

Étape 1: Créez une page pour saisir le login et le mot de passe. Le code HTML du formulaire d'autorisation dans sa forme la plus simple peut ressembler à ceci:

Connexion:

Mot de passe:

Ici (au tout début du fichier) nous ajouterons un code php qui vérifiera l'exactitude du nom d'utilisateur et du mot de passe saisis par le visiteur. Au début on écrira:

session_start ();

Cette commande démarre une nouvelle session si elle n'a pas déjà été créée pour ce visiteur.

Vérifions ensuite si la session a une variable nommée 'userName' - elle stockera le nom si le visiteur a déjà été connecté. S'il existe une telle variable, redirigez le visiteur vers la page principale (index.php) et terminez l'exécution de ce script php:

if ($ _ SESSION ['userName']) {

en-tête ("Emplacement: index.php");

sortir;

}

Le reste du code ne sera exécuté que si l'utilisateur n'a pas encore entré le nom d'utilisateur et le mot de passe corrects. Précisons quel login et mot de passe doivent être considérés comme corrects:

$ validName = 'Je suis à moi !';

$ validPass = 'mot de passe secret';

Ensuite, nous vérifions si les valeurs soumises à partir du formulaire correspondent aux bonnes. Puisque nous avons spécifié la méthode de transfert de données POST dans le formulaire, elles doivent être lues à partir de la variable superglobale $ _POST:

if ($ _POST ['userName'] == $ validName && $ _POST ['userPass'] == $ validPass) {

$ _SESSION ['userName'] = $ validName;

en-tête ("Emplacement: index.php");

sortir;

}

Ici, le code entre accolades {} sera exécuté avec les valeurs correctes du nom d'utilisateur et du mot de passe. Sur la ligne $ _SESSION ['userName'] = $ validName; ma nous écrivons dans la session une variable nommée 'userName' contenant le login de l'utilisateur maintenant autorisé. Ce sera la marque que l'accès lui est ouvert partout tant que sa session en cours est valide.

Et si des données incorrectes sont saisies dans le formulaire, ajoutez le message approprié:

sinon écho"

Le login ou le mot de passe est incorrect !

;

Tout le code qui doit être enregistré dans un fichier nommé login.php ressemblera à ceci:

<?php

session_start ();

if ($ _ SESSION ['userName']) {

en-tête ("Emplacement: index.php");

sortir;

}

$ validName = 'Je suis à moi !';

$ validPass = 'mot de passe secret';

if ($ _ POST ['userName'] == $ validName && $ _POST ['userPass'] == $ validPass) {

$ _SESSION ['userName'] = $ validName;

en-tête ("Emplacement: index.php");

sortir;

}

sinon écho"

Le login ou le mot de passe est incorrect !

;

?>

Connexion:

Mot de passe:

Étape 2

Étape 2: Créez un bloc d'autorisation - un fichier séparé qui sera connecté à chaque page nécessitant une protection par mot de passe. Ce fichier ne contiendra que du code php, donc son extension sera "php", et nous lui donnerons un nom selon la tradition pour de tels fichiers - "auth", c'est-à-dire "auth.php". Et ici aussi, immédiatement après la balise d'ouverture <? Php, il devrait y avoir une instruction pour démarrer une session:

session_start ();

Nous pouvons lire toutes les variables stockées dans la session à partir du tableau superglobal $ _SESSION. Nous devons vérifier la valeur de la variable "userName" - si le visiteur ne s'est pas encore connecté, alors il ne sera pas dans le tableau, et nous le redirigerons vers la page de saisie de son nom d'utilisateur et de son mot de passe:

if (! $ _ SESSION ['autorisé']) {

en-tête ("Emplacement: login.php");

sortir;

}

Tout le code qui doit être enregistré dans le fichier auth.php ressemblera à ceci:

<?php

session_start ();

si (! $ _ SESSION ['admin']) {

en-tête ("Emplacement: enter.php");

sortir;

}

?>

Étape 3

Étape 3: après avoir enregistré ces fichiers sur le serveur, ils resteront dans toutes les pages php qui doivent être protégées des utilisateurs non autorisés pour connecter le bloc d'autorisation. C'est-à-dire qu'au tout début de chaque fichier php, vous devrez insérer ce code:

<?php

nécessite "auth.php";

?>

Et pour changer le mot de passe d'accès, vous devrez changer les valeurs de ces variables dans le fichier login.php:

$ validName = 'Je suis à moi !';

$ validPass = 'mot de passe secret';

$ validName - login, $ validPass - mot de passe.

Conseillé: