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 02/08/2006, 14h34   #1
Invité régulier
 
Inscription : avril 2006
Messages : 31
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 31
Points : 9
Points : 9
Par défaut [Sécurité] Session qui s'autodétruisent

Bonjour à tous,
Je bosse sur un projet de site web qui contiendra une partie administration. J'ai déjà developper la majorité de cette zone restreinte par login+pass mais un problème que je ne comprend pas persiste.
J'utilise un système de sessions pour cette zone et donc toutes les pages ont à leur début le fameux session_start(); ainsi qu'une vérification du genre

if ((!isset($_SESSION['var'])) or (!isset($_SESSION['var2']))) {header ("Location :error.php"); exit; }
if (($_SESSION['var']!="string") or ($_SESSION['var2']!="string2")) {header ("Location :error.php"); exit; }


les variables $_SESSION['var'] et $_SESSION['var2'] sont déclarées dans la page qui analyse les log+ pass et qui les acceptent. Bien sur, ces variables ne sont déclarées que si les log et pass sont reconnus.

Quand, je m'identifie, pas de problèmes, je passe, mais au bout d'une durée indeterminée, il me remet à la page de login, soit (en tous cas, c'est ce que je ne comprend pas) la session n'existe plus alors que le cache_expire de mon hébergeur est de 180 soit 3 heures sauf erreurs de ma part et ce problème arrive en moins de 3 heures à chaque fois, ca peut etre 10 min comme ca peut etre 20 etc... Pour info, mon hébergeur est OVH, je ne sais pas si ca a un rapport direct mais ne sait on jamais....

Est ce que vous voyez le problème? Je suis dans mes débuts alors je doute de mon code... J'ai essayé de chercher une réponse mais ca fait deux semaines que je me penche sur le problème sans y voir plus clair.

Merci d'avance pour votre aide.
satyre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2006, 15h52   #2
Membre confirmé
 
Inscription : janvier 2005
Messages : 451
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 451
Points : 254
Points : 254
Le session-timeout détermine le temps d'expiration des sessions...
a+
philippe123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2006, 11h48   #3
Invité régulier
 
Inscription : avril 2006
Messages : 31
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 31
Points : 9
Points : 9
J'ai regardé avec un phpinfo() et je ne vois pas de session-timeout....
Je comprend vraiment pas, je me suis dit que c'était peut etre mes structures de controles qui n'étaient pas corrects, et j'ai essayé plusieurs solutions mais toujours le meme résultat. Meme avec une structure de controle toute simple, ca ne marche pas....

Qui aurait une solution?
satyre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2006, 13h02   #4
Membre émérite
 
Avatar de alain31tl
 
Alain
Inscription : novembre 2005
Messages : 897
Détails du profil
Informations personnelles :
Nom : Alain
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : novembre 2005
Messages : 897
Points : 910
Points : 910
Salut,

Si celà peut te permettre de mieux cibler ton probléme, j'utilise également les sessions, et chez ovh.
J'ai fait plusieurs tests en figeant ma page sur 15, 20, 30 mn... sans faille.
J'ai vérifié ensuite et, puisque tu semblais avoir un doute, la durée de vie est bien paramétrée à 180 mn (session.cache_expire).
Donc, c'est sans doute un hic dans tes codes sources, et non pas lié à ovh.
__________________
Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.
alain31tl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2006, 13h30   #5
Membre habitué
 
Inscription : février 2005
Messages : 186
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 186
Points : 149
Points : 149
Salut,

J'ai découvert les sessions il y a peu, et j'ai utilisé ça sur un site avec register_globals On, et mes variables de session devenaient folles...

Ça peut être une piste...

a+
novices est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2006, 23h33   #6
Invité régulier
 
Inscription : avril 2006
Messages : 31
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 31
Points : 9
Points : 9
je viens de vérifier sur le php info, et ovh les mets à on les register globals....
Je comprend d'ailleurs pas pourkoi cette faille de sécurité chez un hebergeur aussi important....
Que puis je faire pour résoudre le souci??
satyre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2006, 13h05   #7
Membre habitué
 
Inscription : février 2005
Messages : 186
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 186
Points : 149
Points : 149
Je suis désolé de le dire, mais OVH est peut-être un gros hébergeur, mais c'est tout sauf de la bonne qualité.

J'ai pas une grande expérience des hébergeurs, mais on est actuellement chez OVH pour le prix, et en 6 mois on a déjà eu à subir moults problèmes (problèmes hardware, problème lors du remplacement de ce hardware, ils ont réussi à changer la carte mère, pour la remplacer par une incompatible avec le processeur... Il m'a fallu une semaine pour le leur faire admettre, puis pour qu'ils trouvent le temps de la changer...).

Avant nous étions chez un autre, que je ne citerai pas, mais pas un soucis en 1 an, le seul problème fut une perte de connectivité, dû non pas à l'hébergeur, mais à leur réseau (qu'ils louent, comme tout le monde).

Ceci étant dit, tu colles un .htaccess à la racine de ton site, et dedans tu colles :

Code :
1
2
 
php_flag register_globals Off
Il faut que ton vhost soit configuré pour avoir :
Code :
1
2
3
4
5
6
7
 
<VirtualHost *:80>
.....
    <Directory "/var/www/ton_rep">
        AllowOverride All
    </Directory>
</VirtualHost>
Ou si "AllowOverride" n'est pas sur "all", il faut au moins qu'il prenne en compte le drapeau php indiqué plus haut.

a+
novices est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2006, 14h39   #8
Invité régulier
 
Inscription : avril 2006
Messages : 31
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 31
Points : 9
Points : 9
Salut Novice,

J'ai déjà essayé de mettre un htaccess dans un répertoire d'essai avec un php flag register_globals off....
Et j'ai une belle page "erreur 500" lorsque j'accéde à ce répertoire... Le problème, c'est que chez OVH, je suis en mutualisé, et non en dédié... Je n'ai pas d'accés à la config du serveur..
satyre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2006, 16h03   #9
Membre habitué
 
Inscription : février 2005
Messages : 186
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 186
Points : 149
Points : 149
Salut,

Commence par bien vérifier la syntaxe utilisée dans le .htaccess, j'imagine que tu n'as pas fait l'erreur, mais dans le doute je le précise :

c'est php_flag register_globals Off
et non "php flags" en deux mots.

Et si ta syntaxe est bonne, il va falloir avec eux pour qu'il te permettent ou t'expliquent comment contourner ça.

a+
novices 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 14h25.


 
 
 
 
Partenaires

Hébergement Web