Sécurisé ma page
Résolu
anthonyr_25
Messages postés
165
Date d'inscription
Statut
Membre
Dernière intervention
-
anthonyr_25 Messages postés 165 Date d'inscription Statut Membre Dernière intervention -
anthonyr_25 Messages postés 165 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerais renvoyé l'utilisateur sur ma page connection grâce à une sécurité mais elle ne fonctionne pas, voici mon code :
voila ma session de connection, et voila une autre page que j'aimerai sécurisé :
seulement quand je rentre mon url en localhost cela ne me redirige pas ver ma page connection est-ce parceque je suis en localhost ? ou alors mon problème est ailleurs ?
J'aimerais renvoyé l'utilisateur sur ma page connection grâce à une sécurité mais elle ne fonctionne pas, voici mon code :
<?php session_start(); if(isset($_POST['valider'])){ if(!empty($_POST['pseudo']) AND !empty($_POST['mdp'])){ $pseudo_par_defaut = "admin"; $mdp_par_defaut = "admin1234"; $pseudo_saisi = htmlspecialchars($_POST['pseudo']); $mdp_saisi = htmlspecialchars($_POST['mdp']); if($pseudo_saisi == $pseudo_par_defaut AND $mdp_saisi == $mdp_par_defaut) { $_SESSION['mdp'] = $mdp_saisi; header('Location: ./index.php'); } else { echo "votre mdp ou votre pseudo est incorecte"; } } else { echo "veuiller completer tous les champs..."; } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <form method="POST" align="center"> <input type="text" name="pseudo" autocomplete="off"> <input type="password" name="mdp"> <input type="submit" name="valider"> </form> </body> </html>
voila ma session de connection, et voila une autre page que j'aimerai sécurisé :
<?php session_start(); if(!$_SESSION['mdp']){ header('Location: connection.php'); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <a href="produits.php">Afficher tout les membres</a> </body> </html>
seulement quand je rentre mon url en localhost cela ne me redirige pas ver ma page connection est-ce parceque je suis en localhost ? ou alors mon problème est ailleurs ?
Configuration: Windows / Chrome 98.0.4758.102
A voir également:
- Sécurisé ma page
- Mode sécurisé samsung - Guide
- Supprimer page word - Guide
- Faire de google ma page d'accueil - Guide
- Imprimer tableau excel sur une page - Guide
- Page privée - Guide
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
si j'étais toi, j'utiliserais isset() pour faire le test en ligne 3 de l'autre page.
si j'étais toi, j'utiliserais isset() pour faire le test en ligne 3 de l'autre page.
Bonjour,
Plusieurs choses à voir dans ton code...
Déjà .. la fonction htmlspecialchars ne doit être utilisée que pour de l' affichage ..... pas pour "protéger" une quelconque variable..
Ensuite.. je te conseille fortement de toujours récupérer les variables "proprement" AVANT de les utiliser.
Par exemple , en utilisant l'écriture ternaire:
Bien entendu.. si tu n'es pas redirigé . c'est peut-être aussi que tu as déjà cette variable de renseignée en session suite à de précédents tests .....
Pour le voir, il te suffirait de faire un var_dump($_SESSION); au début de ton code pour voir ce qu'elle contient...
Plusieurs choses à voir dans ton code...
Déjà .. la fonction htmlspecialchars ne doit être utilisée que pour de l' affichage ..... pas pour "protéger" une quelconque variable..
Ensuite.. je te conseille fortement de toujours récupérer les variables "proprement" AVANT de les utiliser.
Par exemple , en utilisant l'écriture ternaire:
$sMdp = !empty($_SESSION['mdp']) ? $_SESSION['mdp'] : NULL; if(!$sMdp ){ header('Location: connection.php'); exit; // Toujours mettre un exit après une redirection via header. }
Bien entendu.. si tu n'es pas redirigé . c'est peut-être aussi que tu as déjà cette variable de renseignée en session suite à de précédents tests .....
Pour le voir, il te suffirait de faire un var_dump($_SESSION); au début de ton code pour voir ce qu'elle contient...