Empecher d'accéder à un lien sans SESSION
Résolu/Fermé
LaChaux78
Messages postés
583
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
14 janvier 2025
-
11 déc. 2016 à 17:29
LaChaux78 Messages postés 583 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 14 janvier 2025 - 11 déc. 2016 à 19:34
LaChaux78 Messages postés 583 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 14 janvier 2025 - 11 déc. 2016 à 19:34
A voir également:
- Empecher d'accéder à un lien sans SESSION
- Créer un lien pour partager des photos - Guide
- Lien url - Guide
- Verifier un lien - Guide
- Comment accéder à wetransfer gratuit ? - Guide
- Lien copié - Forum Mobile
4 réponses
yg_be
Messages postés
23490
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 mars 2025
Ambassadeur
1 570
11 déc. 2016 à 18:01
11 déc. 2016 à 18:01
Ton observation est 100% correcte, tu as bien perçu le danger, mais ta conclusion n'est pas correcte.
Tu ne peux pas empêcher quelqu'un de t'envoyer n'importe quel url.
Par contre, tu peux totalement contrôler ce que tu renvoies comme réponse à chaque url.
Je te conseille, dans le PHP de toutes tes pages "confidentielles", de tester si il y a une session ouverte, et, si ce n'est pas le cas, de renvoyer une réponse de ton choix : une page d'erreur, ta page principale, une invitation à entrer en session, ...
C'est de cette façon que tu contrôles que seuls ceux qui ont ouvert leurs SESSION ont accès à tes information. Ce n'est pas l’accès aux liens que tu dois contrôler, c'est l’accès au contenu. Et c'est précisément le concept de sessions qui t'aide à faire cela, parce que tu retrouves les mêmes variables de sessions chaque fois que ton PHP est exécuté par la même session.
Ceci t'aide-t-il?
Tu ne peux pas empêcher quelqu'un de t'envoyer n'importe quel url.
Par contre, tu peux totalement contrôler ce que tu renvoies comme réponse à chaque url.
Je te conseille, dans le PHP de toutes tes pages "confidentielles", de tester si il y a une session ouverte, et, si ce n'est pas le cas, de renvoyer une réponse de ton choix : une page d'erreur, ta page principale, une invitation à entrer en session, ...
C'est de cette façon que tu contrôles que seuls ceux qui ont ouvert leurs SESSION ont accès à tes information. Ce n'est pas l’accès aux liens que tu dois contrôler, c'est l’accès au contenu. Et c'est précisément le concept de sessions qui t'aide à faire cela, parce que tu retrouves les mêmes variables de sessions chaque fois que ton PHP est exécuté par la même session.
Ceci t'aide-t-il?
LaChaux78
Messages postés
583
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
14 janvier 2025
32
11 déc. 2016 à 18:40
11 déc. 2016 à 18:40
Bonjour
Merci pour ta réponse
Alors en fait si j'ai bien compris car ce n'est pas certain c'est de mettre par exemple une condition sur le contenu qui doit être lu uniquement si une SESSION est ouverte.
Je pourrai faire du style ça?
Merci
Merci pour ta réponse
Alors en fait si j'ai bien compris car ce n'est pas certain c'est de mettre par exemple une condition sur le contenu qui doit être lu uniquement si une SESSION est ouverte.
Je pourrai faire du style ça?
Merci
<?php if (isset($_SESSION['idpers']) && $_SESSION['idpers'] != NULL) { ?> <div id="ProfilMenu" style="width:800px"> <ul> <li><b>MENU :</b></li> <li> - <a href="./mod_profil.php" rel="nofollow noopener noreferrer" target="_blank">Modifier mon profil</a></li> <li> - <a href="./mod_passwd.php" rel="nofollow noopener noreferrer" target="_blank">Modifier mon Mot de passe</a></li> <li> - <a href="./pp_anciennete.php" rel="nofollow noopener noreferrer" target="_blank">Ancienneté</a></li> <li> - <a href="./pp_responsables.php" rel="nofollow noopener noreferrer" target="_blank">Responsables</a></li> </ul> </div> <?php }else { redirection page d'accueil } ?>
yg_be
Messages postés
23490
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 mars 2025
1 570
11 déc. 2016 à 18:52
11 déc. 2016 à 18:52
Ce que tu fais, c'est bien, mais tu dois suivre le même principe dans tes pages mod_profil.php, mod_passwd.php, pp_anciennete.php, pp_responsables.php, bref, toutes tes pages confidentielles : renvoyer à la page d'accueil si pas en session.
Il faut aussi, dans le code PHP de toutes les pages où tu utilises $_SESSION, faire, au début, session_start();
Il faut aussi, dans le code PHP de toutes les pages où tu utilises $_SESSION, faire, au début, session_start();
LaChaux78
Messages postés
583
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
14 janvier 2025
32
11 déc. 2016 à 18:53
11 déc. 2016 à 18:53
C'est encore moi je crois que j'ai compris je te redis
merci
merci
LaChaux78
Messages postés
583
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
14 janvier 2025
32
11 déc. 2016 à 19:34
11 déc. 2016 à 19:34
Ca y est génial et oui en fait je me focalisais sur les liens mais c'étais sur le contenu des pages.
Vraiment merci
Cordialement
Vraiment merci
Cordialement