cookie et le boutton precedant de IE - PHP - Programmation
Marsh Posté le 05-08-2005 à 21:43:24
t'utilises quelle fonction pour detruire la session ? aucun cookie n'a l'air effacé.
Marsh Posté le 05-08-2005 à 21:44:20
<?
session_start();// on démarre la session
unset($_COOKIE['login_user']);
unset($_COOKIE['pass_user']);
unset($_SESSION['login_user']);
// maintenant on détruit la session en cours,
session_unset(); // on efface toutes les variables de session
session_destroy(); // on detruit la session en cours.
//Suppression du cookie qui permet à l'utilisateur de se loger automatiquement
setcookie("login_user" );
setcookie("pass_user" );
// On renvoi sur la page afficher pour voir le résultat, uniquement pour ce test, si tout s'est effectué normalement, le login et password ne s'afficheront pas, car ils n'éxistent plus
header('location: index.php') ;
?>
Marsh Posté le 05-08-2005 à 21:51:58
http://fr2.php.net/manual/en/function.setcookie.php
setcookie ("TestCookie", "", time() - 3600);
EDIT: pour detruire un cookie, jouer sur la date d'expiration ^^
Marsh Posté le 05-08-2005 à 21:53:20
je pense que tu as trouvé le moyen le moins sur de réaliser l'authentification
Marsh Posté le 05-08-2005 à 21:56:19
oui c'est vrai que je dois au minimum coder le mot de passe, mais c'est juste le debut, je veux faire juste une petite secu pour restreindre l'acces a des pages
Marsh Posté le 05-08-2005 à 22:06:16
le cookie s'efface bien (le fichier)
mais c'est une connerie de cache ou un truc du genre
GRRRRR
Marsh Posté le 05-08-2005 à 22:10:05
ah oui,
c'est une version d'IE qui déconne sans doute
<?
header("ETag: PUB" . time());
header("Last-Modified: " . gmdate("D, d M Y H:i:s", time()-10) . " GMT" );
header("Expires: " . gmdate("D, d M Y H:i:s", time() + 5) . " GMT" );
header("Pragma: no-cache" );
header("Cache-Control: max-age=1, s-maxage=1, no-cache, must-revalidate" );
session_cache_limiter("nocache" );
?>
Marsh Posté le 05-08-2005 à 22:19:11
le cookie ne s'efface pas. T'as fait ce que je t'ai mis plus haut ?
Marsh Posté le 05-08-2005 à 22:23:09
<?
session_start();// on démarre la session
unset($_COOKIE['login_user']);
unset($_COOKIE['pass_user']);
unset($_SESSION['login_user']);
// maintenant on détruit la session en cours,
session_unset(); // on efface toutes les variables de session
session_destroy(); // on detruit la session en cours.
//Suppression du cookie qui permet à l'utilisateur de se loger automatiquement
setcookie("login_user","", time() - 3600);
setcookie("pass_user","", time() - 3600);
// On renvoi sur la page afficher pour voir le résultat, uniquement pour ce test, si tout s'est effectué normalement, le login et password ne s'afficheront pas, car ils n'éxistent plus
header('location: index.php') ;
?>
Marsh Posté le 05-08-2005 à 22:23:55
<?php
header("ETag: PUB" . time());
header("Last-Modified: " . gmdate("D, d M Y H:i:s", time()-10) . " GMT" );
header("Expires: " . gmdate("D, d M Y H:i:s", time() + 5) . " GMT" );
header("Pragma: no-cache" );
header("Cache-Control: max-age=1, s-maxage=1, no-cache, must-revalidate" );
session_cache_limiter("nocache" );
session_start();// on appele la session
//setcookie("Mounir_B","un_coockie_pour_le_fun",time()+3600);
//print_r($_COOKIE);
echo "cookie".$_COOKIE['login_user']; <------- Pourkoi pas d'erreur (variable unset)
if ((isset($_COOKIE["login_user"])) && (isset($_COOKIE["pass_user"]))
&& ($_COOKIE["login_user"]!="" ) && ($_COOKIE["pass_user"]!="" )){
$_SESSION['login_sess']=$_COOKIE["login_user"];
$_SESSION['pass_sess']=$_COOKIE["pass_user"];
}
Marsh Posté le 05-08-2005 à 22:25:24
ça c'est le debut de index.php vers laquelle on est rediriger,
je comprend rien ça marche nikel avec easyphp1.8
aussi
echo "cookie".$_COOKIE['login_user']; <------- Pourkoi pas d'erreur (variable unset)
normalement elle existe pas (c'est ce que le signale easyphp)
Marsh Posté le 05-08-2005 à 22:33:50
tu peux toujours essayer ca
header("Set-Cookie: login_sess=deleted; path=/; Max-Age=0" );
Marsh Posté le 05-08-2005 à 22:44:20
echo "cookie".$_COOKIE['login_user']; <------- Pourkoi pas d'erreur (variable unset)
de toute façon cette ligne est bizarement interprété elle est au debut de index.php
http://www.delorie.com/web/headers [...] 7Emboulano
est ce que c'est parce que le serveur est sous linux , version php??
j'y comprend plus rien :-S
Marsh Posté le 05-08-2005 à 23:08:39
Je reprends
mon pb:
->tu te logue, tu vas ds photo (ok)
->tu te delogue, tu fais precedant t'as la page de photo (ko)
->tu fais F5 t'as plus la page photo ( :-S )
il n'est pas censé affiché photo apres s'etre delogue
autre chose affichier $ppl qui n'a aucune valeur ne declanche pas d'erreur
Marsh Posté le 06-08-2005 à 11:34:11
Je pensais à un truc comme ça ...
peut-être que les cookies ne sont pas pris en compte lors d'une "Location:".
Faudrait que t'essaye sans la redirection pour voir ...
Marsh Posté le 20-09-2005 à 17:12:41
J'ai un problème (je pense) similaire, je bosse en ASP VBScript
J'ai une page inscription en plusieurs étapes et pour garder le fil avec une personne qui s'enregistre (j'utilise une clef unique), avant d'arriver sur le formulaire, la personne passe sur une page de redirection qui fait les choses suivantes:
détruit le cookie existant(date antérieur)
génère une nouvelle clef unique
crée un nouveau cookie avec la nouvelle valeur
dirige vers la première page d'insciption...
Ce cookie contient donc un numéro unique que je crée...
Si cette personne veut se réinscrire (ou inscrire un ami), elle repasse par cette page de redirection et...
Sous Firefox, tout va bien, il prends bien en compte le nouvelle clée crée...
Mais sous explorer, il obliger le "refresh" de la page pour accepter la nouvelle clé !!!
Explorer me fait ****
Je ne comprends pas comment c'est possible puisque le cookie et l'ancienne clef est détruite !!! Sans doute un problème de cache, mais comment en venir à bout !
Je ne trouve pas de solution... Alors help-me !
MERCI !!!
Marsh Posté le 20-09-2005 à 18:06:24
Vu ce que t'utilises : direction sous section "ASP".
Dans la partie php, tu véras pas grand monde qui poura t'aider en asp.
Marsh Posté le 05-08-2005 à 21:39:26
Bonjour,
j'ai un petit souci avec les cookies,
en fait ils me servent a stoker le login et password des utilisateurs pour relancé la session d'1 'utilisateur qui c'ete deja loggé (création du cookie) et ne l'a pas effacé
oulla j sais pas si c'est clair tout ça
en fait qd je clic sur le boutton detruire session le cookie s'efface (et j'ai aucune variabe ds $_COOKIE) par contre qd je fait precedant le $_COOKIE retrouve ce qui au'il contenait meme si le fichier cookie est effacé
www.etud.insa-toulouse.fr/~mboulano si qlq 1 vous essayer (login et pass = 1)
la page galerie public n'est (normalement accessible qu'apres signature)
plzz help