Sécurité sur la redirection automatique header()

Résolu/Fermé
ajaoh.38 Messages postés 410 Date d'inscription lundi 5 avril 2010 Statut Membre Dernière intervention 20 mars 2016 - 19 mars 2016 à 10:59
ajaoh.38 Messages postés 410 Date d'inscription lundi 5 avril 2010 Statut Membre Dernière intervention 20 mars 2016 - 20 mars 2016 à 09:55
Bonjour,

J'ai une question sur la sécurité de l'utilisation de la fonction header.

Dans ma situation j'ai en ensemble de pages réservées aux utilisateurs membres. Ceux-ci se connectent via un formulaire (formulaire.php) à la suite duquel si les id et mdp sont cohérents, une SESSION est créée avec leur login et password en variable de Session.

En début de mes pages réservées j'aimerai inclure le code suivant afin de vérifier si le client a créé une session (donc si c'est un membre) :

session_start() ;
$login = $_SESSION['login'] ;
$pwd = $_SESSION['pwd'] ;
if (empty($login) OR empty($pwd)) {
header('Location: formulaire.php'); exit();
}


A la suite de ce bout de code je déroule mon code HTML avec le contenu de ma page.

J'aimerai savoir si cela est bien en terme de sécurité ou si le client peut (via son navigateur) empêcher la redirection automatique du header(...) et voir le contenu de la page.

Merci de vos réponses
A voir également:

1 réponse

jordane45 Messages postés 38430 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 février 2025 4 735
19 mars 2016 à 23:38
Bonjour,

Le code PHP étant interprété côté SERVEUR, l'utilisateur ne peut pas y avoir accès depuis son navigateur.
Donc oui... c'est une bonne méthode ('qui a déjà fait ses preuves....).

Petite correction tout de même de ton code :
<?php
//démarrage des SESSIONS
session_start() ;

//Récupération "propre" des variables
$login = !empty($_SESSION['login']) ? $_SESSION['login'] : NULL ;
$pwd = !empty($_SESSION['pwd']) ? $_SESSION['pwd'] : NULL ;

//redirection si non connecté.
if (!$login || !$pwd) {
     header('Location: formulaire.php');
     exit();
}


// Puis le reste de ton code php et/ou html...
//....


NB : on vérifie l'existence des variables AVANT d'essayer de les utiliser.

NB² : Pourquoi stocker le password en SESSION ?
Ne conserve en SESSION que l' ID et/ou le LOGIN de ton utilisateur...ça suffit !
3
ajaoh.38 Messages postés 410 Date d'inscription lundi 5 avril 2010 Statut Membre Dernière intervention 20 mars 2016 44
20 mars 2016 à 09:55
Bonjour,

Merci pour ta réponse claire et nette.
Pour ce qui est des NB : je commence tout juste PHP du coup c'est vrai que je dois prendre les bonnes habitudes tôt.

Merci,
0