Securité
sabrine
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
voila mon problème si quelqu'un pourrais m'aider :
je suis entrain de crée une application web
avec l'option de gestion des acées admin et user
maintenant tt est bien le login et le log out fonctionne très bien mais seulement quand je fais le log out je voudrais que lorsque je clique sur le flèche précédent de mon navigateur web ne me ramené pas a la page que j ai déjas quitter ,
je voudrais par exemple le même truc que Facebook lorsque je me déconnecte et je clique sur le flèche précédent le navigateur reste toujours sur la même page d'accueil de connexion de Facebook ! merci
je suis entrain de crée une application web
avec l'option de gestion des acées admin et user
maintenant tt est bien le login et le log out fonctionne très bien mais seulement quand je fais le log out je voudrais que lorsque je clique sur le flèche précédent de mon navigateur web ne me ramené pas a la page que j ai déjas quitter ,
je voudrais par exemple le même truc que Facebook lorsque je me déconnecte et je clique sur le flèche précédent le navigateur reste toujours sur la même page d'accueil de connexion de Facebook ! merci
A voir également:
- Securité
- Question de sécurité - Guide
- Votre appareil ne dispose pas des correctifs de qualité et de sécurité importants - Guide
- Mode securite - Guide
- Clé de sécurité windows 10 gratuit - Guide
- Bouton sécurité windows - Forum Windows
3 réponses
'lut, je ne sais pas comment Facebook se débrouille pour fair ça (j'ai pas de compte Facebook, donc peut pas tester) mais je présume qu'ils utilisent de l'AJAX et les APIs de manipulation d'historique pour maîtriser entièrement le chargement des pages, ce qui leur permet d'afficher un contenu différent quand tu reviens en arrière.
Si tu arrives à implémenter un tel système, il faut toutefois vérifier que le cookie de session admin est présent à chaque action possible sur la page d'admin: il suffit d'avoir un navigateur trop ancien ou de désactiver les APIs d'historique avec la console JavaScript pour vraiment pouvoir revenir en arrière sur la page admin.
Si tu arrives à implémenter un tel système, il faut toutefois vérifier que le cookie de session admin est présent à chaque action possible sur la page d'admin: il suffit d'avoir un navigateur trop ancien ou de désactiver les APIs d'historique avec la console JavaScript pour vraiment pouvoir revenir en arrière sur la page admin.
mon application web est realiser en *.php fichiers
est ce qu'il y un bout de code en php, javascript ... qui me permet de resoudre ce problème .... Merci
est ce qu'il y un bout de code en php, javascript ... qui me permet de resoudre ce problème .... Merci
Salut sabrine,
Ton problème est peut-être lié à la mise en cache de tes pages.
Tu peux insérer des entêtes http avec la fonction Php
https://www.php.net/manual/fr/function.header.php
avec un exemple "Cache-Control: no-cache, must-revalidate" et une date d'expiration dans le passé ici :
https://www.php.net/manual/fr/function.header.php#example-4497
Les directives
En outre, ton script, lorsque ton utilisateur se délogue, devrait supprimer les variables de session utilisées pour l'authentification avec unset, et tes pages accessibles que sur authentification devraient toujours vérifier, avant d'afficher quoi que ce soit, que les variables existent et qu'elles authentifient correctement l'utilsateur.
Dal
Ton problème est peut-être lié à la mise en cache de tes pages.
Tu peux insérer des entêtes http avec la fonction Php
header()qui sont destinés à demander aux navigateurs et proxys de ne pas conserver les pages dans leurs caches.
https://www.php.net/manual/fr/function.header.php
avec un exemple "Cache-Control: no-cache, must-revalidate" et une date d'expiration dans le passé ici :
https://www.php.net/manual/fr/function.header.php#example-4497
Les directives
header()doivent être utilisées avant l'envoi d'un quelconque contenu de la page par le script Php.
En outre, ton script, lorsque ton utilisateur se délogue, devrait supprimer les variables de session utilisées pour l'authentification avec unset, et tes pages accessibles que sur authentification devraient toujours vérifier, avant d'afficher quoi que ce soit, que les variables existent et qu'elles authentifient correctement l'utilsateur.
Dal
Bonne initiative aussi, j'y avais pensé mais je l'ai pas dit: bien que ça paraisse être une solution, il ne faut jamais faire confiance au client et à son navigateur: rien ne nous dit qu'il va respecter l'en-tête HTTP
Cache-Control. C'est donc bon a prendre en plus, mais n'asbtient pas de faire des vérifs' coté serveur.
@sabrine : j'ai déjà répondu à ta question. Le lien que j'ai donné donne un exemple, ces directives devant être mises avant l'envoi d'un quelconque contenu de la page par le script Php :
Comme indiqué dans mon message également, il faut aussi gérer l'expiration des variables utilisées pour l'authentification, et contrôler leur présence à chaque chargement de page, comme indiqué ci-dessus.
Tu as des exemples là :
https://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes
@gravgun : à mon humble avis, c'est dommage de se priver d'une solution qui ne dépend pas de la présence de Javascript et qui est efficace pour la totalité des navigateurs grand public (et ce depuis des années, la RFC 2616 pour HTTP/1.1 datant de 1999 n'étant pas une nouveauté, alors qu'on ne peut pas en dire autant de l'API d'historique de HTML5).
C'est un autre degré de sécurité : si on peut, on évite que les données soient stockées dans le cache. Si elles n'y sont pas, c'est déjà cela de moins qui pourrait être accessible à une personne mal intentionnée, c'est tout ce que je voulais dire. Et ce n'est pas une sécurité optionnelle, à mon sens, mais nécessaire (même si elle ne prémunis pas contre tous les risques).
"mais n'asbtient pas de faire des vérifs' coté serveur"
Je n'ai jamais prétendu que c'était suffisant, ni que cela permettait de se passer de supprimer les variables de session (relis mon message). Tu veux parler de quelles " vérifs' " ?
Dal
<?php header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date dans le passé ?>
Comme indiqué dans mon message également, il faut aussi gérer l'expiration des variables utilisées pour l'authentification, et contrôler leur présence à chaque chargement de page, comme indiqué ci-dessus.
Tu as des exemples là :
https://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes
@gravgun : à mon humble avis, c'est dommage de se priver d'une solution qui ne dépend pas de la présence de Javascript et qui est efficace pour la totalité des navigateurs grand public (et ce depuis des années, la RFC 2616 pour HTTP/1.1 datant de 1999 n'étant pas une nouveauté, alors qu'on ne peut pas en dire autant de l'API d'historique de HTML5).
C'est un autre degré de sécurité : si on peut, on évite que les données soient stockées dans le cache. Si elles n'y sont pas, c'est déjà cela de moins qui pourrait être accessible à une personne mal intentionnée, c'est tout ce que je voulais dire. Et ce n'est pas une sécurité optionnelle, à mon sens, mais nécessaire (même si elle ne prémunis pas contre tous les risques).
"mais n'asbtient pas de faire des vérifs' coté serveur"
Je n'ai jamais prétendu que c'était suffisant, ni que cela permettait de se passer de supprimer les variables de session (relis mon message). Tu veux parler de quelles " vérifs' " ?
Dal