Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/06/2006, 21h50   #1
Membre éclairé
 
Inscription : juillet 2005
Messages : 1 221
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 1 221
Points : 398
Points : 398
Par défaut header est-il fiable ?

Bonjour,

Avant j'avais une condition pour afficher ou non le script central de la page.
Je faisais:
Code :
1
2
3
4
5
if(isset($_SESSION['idMembre']))
{
affiche le script;
}
Avec la variable idMembre créé après l'identification
Avec ça la page s'affichait, mais il y avait un message d'erreur si la variable de session n'était pas présente.

Maintenant je fais :
Code :
1
2
3
4
5
 
if(!isset($_SESSION['idMembre']))
{
 die(header('Location: http://www.site.com/identification.php'));
;}
Donc là, plus de message d'erreur le gars est immédiatement redirigé sur la page d'identification.
Mais est-ce fiable ? Peut-on désactiver un header ? Je crois par exemple que certains navigateur ne les acceptent pas (j'ai lu ça pour IE 4 et des poussières je crois, vous me direz c'est très vieux mais un pirate peut justement s'en servir pour ça par exemple. Et puis c'est peut être le cas pour d'autres navigateurs, entre autres failles).
__________________
C'est pas parce que j'ai tort que vous avez raison.
psychoBob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2006, 22h50   #2
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
c'est pour faire quoi un logout ???

moi je fais ca :
Code :
1
2
3
4
5
<?php
session_start();
session_destroy();
header("location:../index.php");
?>
et voila le tour est joué, un header étant dans ton code php, est executé sur le serveur, donc non je vois pas comment il pourrait faire autrement pour détourner cela.
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
Mon espace Développez : mes Créations.


Rencontre & Carte des Membres de Developpez.com, version 3.0
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2006, 23h17   #3
Membre éclairé
 
Inscription : juillet 2005
Messages : 1 221
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 1 221
Points : 398
Points : 398
Qu'est ce que t'appelles un logout Maxoo?
Une procédure de déconnexion ?
le code que tu files c'est pour montrer comment on déconnecte ?
Perso je déconnecte pas, le gars est pas connecté sinon justement ça s'affiche.

Citation:
et voila le tour est joué, un header étant dans ton code php, est executé sur le serveur, donc non je vois pas comment il pourrait faire autrement pour détourner cela.
Hum maintenant que tu me dis ça, j'avais peut être lu ça pour les header fait en javascript ou html.

Bon bah c'était un bon petit post qui n'en veut j'ai l'impression, hein...
Archi inutile de retester la présence ou non d'une session pour l'affichage d'un script dans la page, le header suffit tout en haut pour interdire l'accès à la page si la session est absente, c'est certain ?
__________________
C'est pas parce que j'ai tort que vous avez raison.
psychoBob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2006, 17h17   #4
Membre du Club
 
Inscription : avril 2006
Messages : 24
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : avril 2006
Messages : 24
Points : 59
Points : 59
heu là tu vérifie toujours "la présence ou non d'une session" non ?
Code :
1
2
3
4
5
 
if(!isset($_SESSION['idMembre']))
{
 die(header('Location: http://www.site.com/identification.php'));
;}
le die() va tout stopper, le serveur n'interpretera pas plus loin, le client ne peut absolument rien y faire.
Thuliad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2006, 17h44   #5
Membre éclairé
 
Inscription : juillet 2005
Messages : 1 221
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 1 221
Points : 398
Points : 398
Ouais je suis convaincu.

Mais est-ce plus sûr de faire le test avec isset($_COOKIE[ session_name() ] ) ou avec $_SESSION['uneVariableDeSession'] ?
__________________
C'est pas parce que j'ai tort que vous avez raison.
psychoBob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2006, 19h31   #6
Candidat au titre de Membre du Club
 
Inscription : juin 2006
Messages : 17
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 17
Points : 12
Points : 12
Citation:
Envoyé par psychoBob
Code :
1
2
3
4
5
if(isset($_SESSION['idMembre']))
{
affiche le script;
}
Avec la variable idMembre créé après l'identification
Avec ça la page s'affichait, mais il y avait un message d'erreur si la variable de session n'était pas présente.
Bonjour,

Et si jamais tu mets
Code :
if(isset(@$_SESSION['idMembre']))
? Le message d'erreur s'affiche encore ?
Seb06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2006, 19h41   #7
Membre éclairé
 
Inscription : juillet 2005
Messages : 1 221
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 1 221
Points : 398
Points : 398
Euh...pourquoi tu me demandes ça ?
Quand je parlais d'un message d'erreur c'était un message d'erreur à destination du visiteur, écrit par moi même, pas un code erreur php. Le sujet de la question était d'ailleur.

M'enfin puisqu'on y est, c'est quoi ce @ subrepticement inséré ? Il est censé servir à quoi ?
__________________
C'est pas parce que j'ai tort que vous avez raison.
psychoBob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2006, 21h22   #8
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
le @ veut dire : meme si y a des erreurs, n'affiche rien !!!
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
Mon espace Développez : mes Créations.


Rencontre & Carte des Membres de Developpez.com, version 3.0
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2006, 23h39   #9
Membre éclairé
 
Inscription : juillet 2005
Messages : 1 221
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 1 221
Points : 398
Points : 398
Tiens une question comme ça : est-il possible d'avoir un header à retardement qui ne change de page qu'au bout d'un temps donné précisé en paramètre, comme on peut le faire avec les header html (ou javascript je sais plus)
__________________
C'est pas parce que j'ai tort que vous avez raison.
psychoBob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2006, 00h11   #10
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
un header étant fait coté php, si tu mets du temps, bah tu cliques et tu attends 5 secondes ta page.

je vois pas vraiment bien l'interet
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
Mon espace Développez : mes Créations.


Rencontre & Carte des Membres de Developpez.com, version 3.0
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h53.


 
 
 
 
Partenaires

Hébergement Web