Session

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Session

par cmoi » 26 juil. 2009, 10:39

merci pour ces infos.

pour l'instant, j'abandonne l'idée ; ce n'est pas essentiel sur mon site, et j'ai contourné le problème autrement.

par chennuo0142 » 26 juil. 2009, 01:44

J'ai fait un phpinfo(); voila ce que ça donne:

session
Session Support enabled
Registered save handlers files user

Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp /tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid Off Off

Problemes de session sur 1et1.fr

par chennuo0142 » 25 juil. 2009, 12:05

Salut, est ce qu'entre vous, qui a un hebergement chez 1et1.fr, chez eux la session ne fonctionne pas, s'il y a des personnes qui sont dans la meme cas, et s'ils ont des solution, je suis prenneur!

merci d'avance

par enneite » 24 juil. 2009, 15:03

Et le code que j’ai donner plus haut est pas bon :?:
Bin sinon dans ton cas il manque une parenthèse fermante.
oups ouais il manquait la parenthèse :oops: :oops:

ton code etait très bon.
Le mien, en fait c'est même pas un code (j'ai pas developpé la fonction qui verifie l'authentification), c'est juste la façon minimale de proceder.
Je voulais montrer le truc le plus simple possible dans la démarche pour faire une authentification sur son site.

Ces deux codes n'avaient donc pas les mêmes buts didactiques, ils etaient complémentaires et non rivaux :D

par dunbar » 24 juil. 2009, 14:41

effectivement il manquait une parenthèse.
Bin oui quand même :?
Par contre, je ne comprends pas cette ligne : header("location:formulaire.php?auth=erreur");

qui m'ouvre une autre page que celle voulue.
Se serais pas mal d'essayer de comprendre avant de copier/coller du code :evil:
Cette ligne est une redirection, en cas de mauvais login et/ou pass et là il redirige vers formulaire.php dans lequel tu récupère la variable auth pour faire un traitement.

par cmoi » 24 juil. 2009, 14:39

effectivement il manquait une parenthèse.

Par contre, je ne comprends pas cette ligne : header("location:formulaire.php?auth=erreur");

qui m'ouvre une autre page que celle voulue.

par dunbar » 24 juil. 2009, 14:17

Et le code que j’ai donner plus haut est pas bon :?:
Bin sinon dans ton cas il manque une parenthèse fermante.

par cmoi » 24 juil. 2009, 14:08

il y a un problème. Si je colle ça
<?php
session_start();
function test_validite_authentification($login,$mdp)
{
//... on teste si l'utilisateur est bien inscrit
//...si le mot de passe correspond
//...

}

if(test_validite_authentification($_POST["login"],$_POST["mdp"]==true)
{
$_SESSION["login"]=$_POST["login"];
$_SESSION["est_authentifie"]="oui";

}
else
{
header("location:formulaire.php?auth=erreur");
}
?>
en tête de ma page de connexion, la page ne s'ouvre : problème de syntaxe ligne 12.

par narcisse » 24 juil. 2009, 10:14

Tu peux en faire abstraction pour le moment ...

par cmoi » 24 juil. 2009, 09:53

ok je vais essayer ça, merci.

Mais le fichier php.ini (que je n'ai pas !!) doit contenir quoi ?

par enneite » 23 juil. 2009, 22:07

ah bah il faut les initialiser quand meme les variables de sessions
session_start();
function test_validite_authentification($login,$mot_de_passe)
{
//... on teste si l'utilisateur est bien inscrit
//...si le mot de passe correspond
//...

}
//ah oui y avait une parenthese! qui manquait! oups!
if(test_validite_authentification($_POST["login"],$_POST["mot_de_passe"])==true)
{
$_SESSION["login"]=$_POST["login"];
$_SESSION["est_authentifie"]="oui";

}
else
{
header("location:formulaire.php?auth=erreur");
}
après elles existerons pour toute a durée de la session du navigateur jusqu'à l'expiration définie dans l php.ini



session_start() sera utile dans tes autres fichiers si tu veux récupérer le login et l'état d'authentification de l'utilisateur de ton site qui navigue dessus, notamment pour faire des tests avant qu'il accede à son compte.

par cmoi » 23 juil. 2009, 18:54

merci pour toutes ces réponses.

Je pensais qu'en mettant
<?php
session_start();
?> 
sur la page de connexion et en se connectant, on pourrait quitter la page et y revenir sans avoir à se reconnecter.

Apparemment ça ne suffit pas !

par narcisse » 23 juil. 2009, 17:05

Par contre PHP quand il définit sa session , il cré une cookie dont le contenu est un message crypté qui correspond aux informations stockées sur le serveur.
PHP crée sur le serveur un fichier texte accessible uniquement par lui même, et envoie un identifiant de fichier au navigateur client.

Le navigateur client, lui, renvoie à chaque rafraîchissement l'identifiant de session, qui est la référence de fichier dans lequel PHP doit aller chercher les informations.

C'est pas obligé de regénérer l'id de session de l'utilisateur, ou alors il faut le faire sous certaines conditions.

On retrouve ce fonctionnement en J2EE et en C# de toute manière.

par enneite » 23 juil. 2009, 16:59

il ne faut jamais mettre d'informations confidentielles dans un cookie.

Par contre PHP quand il définit sa session , il cré une cookie dont le contenu est un message crypté qui correspond aux informations stockées sur le serveur.

C'est pour cela que lorsqu'on utilise des données sensibles, il ne faut pas que la durée de vie des sessions soit trop longue et il faut prevoir des script utilisant la fonction session_regenerate_id(); (pas partout car ça redemande des ressources, mais sur les pages de modifications importantes des données de sessions par exemple...)

par dunbar » 23 juil. 2009, 16:51

En n'oubliant jamais que les cookies n'offre AUCUNE sécurité.