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 béka » 18 mai 2006, 13:44

je commence à piger le truc des sessions... mais bon, je vais essayer et si j'ai d'autres problèmes je reviendrais.

par xs_stef » 18 mai 2006, 13:40

Salut,
pour démarrer la session , c'est session_start();

Mais en fait, c'est un peu indiqué sur le lien qui a été donné :
http://www.phpdebutant.org/article47.php
<?
session_start();

/*
si la variable de session login n'existe pas cela siginifie que le visiteur
n'a pas de session ouverte, il n'est donc pas logué ni autorisé à
acceder à l'espace membres
*/
if(!isset($_SESSION['login'])) {
  echo 'Vous n\'êtes pas autoris´ à acceder à cette zone';
  include('login.htm');
  exit;
}
?> 

par béka » 18 mai 2006, 13:32

non en fait, je suis en stage, donc c'est à moitié pour le boulot et à moitié pour l'école.

Mais en fait, je voudrais savoir ce qu'il faut mettre pour commencer une session, ce qu'il faut mettre pour reconnaitre une session. Et sur quelles pages mettre les différentes informations, les différents scripts ?

par ouckileou » 18 mai 2006, 12:09

c'est a dire que j'ai pas le temps, sinon j'aurais pris le temps d'approfondir "la chose". Je dois rendre ce produit rapidement, et il y a encore beaucoup de travail.
Erf...

C'est pour le boulot ou l'école ?
Si c'est pour le boulot, explique à ton chef que tu préfères un peu de temps pour rendre un truc bien plutôt que rapidement un truc qui tiendra pas :D

par béka » 18 mai 2006, 12:04

c'est a dire que j'ai pas le temps, sinon j'aurais pris le temps d'approfondir "la chose". Je dois rendre ce produit rapidement, et il y a encore beaucoup de travail.

par ouckileou » 18 mai 2006, 12:03

Et si avant de te lancer dans un truc de sécurisation tu faisais des petits tests ?

Genre :
- quand on arrive sur la page, si on ne connait pas le nom de la personne : petit formulaire pour lui demander
- quand on recharge la page, on affiche son nom si on le connait
- et on lui propose une deuxième page où on réaffiche son nom

- éventuellement ensuite un petit compteur de visites

Histoire de ne pas mettre la charrue avant les boeufs

Sinon : http://www.phpdebutant.org/article47.php

par béka » 18 mai 2006, 11:55

autant pour moi ouckileou :wink:
Et justement Ryle, mon probleme c'est que je ne sais pas comment l'utiliser dans mes pages

par charabia » 18 mai 2006, 11:46

mais ouckileou, pourquoi si $_SESSION = true, on redirige vers le formulaire d'identification ?
Il a mis != donc différent béka ;)

par Ryle » 18 mai 2006, 11:44

Dis toi simplement que la session est un objet associé à la personne qui est connecté (qui permet donc de la distinguer), et qui reste en mémoire sur le serveur.

C'est à toi de mettre dedans les choses qui t'interessent concernant la "session" de l'utilisateur, et d'aller les y récuperer.

Par exemple, lorsqu'un utilisateur s'authentifie en saisissant un login/mot de passe, tu vas aller écrire dans la session pour dire "l'utilisateur est authentifié". Puis sur chacune de tes pages, tu vas aller regarder dans la session si effectivement, l'élément que tu as mis permettant de savoir s'il s'était authentifié est bien présent. S'il n'y est pas, c'est qu'il ne s'est pas loggé et tu peux ainsi lui interdire l'accès à une page en le redirigeant ailleurs :)

Considère la session comme étant une fiche propre à l'utilisateur sur laquelle tu vas noter les infos qui le concernes, et que tu peux consulter à tout moment pour les vérifier ou les utiliser.

Mais c'est à toi de gérer ce que tu mets dedans, et la façon dont tu l'utilises sur tes pages (accès aux pages, gestion d'un caddie virtuel, etc. )

par béka » 18 mai 2006, 11:44

donc si je vous suis, dans mon formulaire d'identification je dois mettre au début session_strat() ?
et pareil dans toutes les autres apges à accès réservé ?

mais ouckileou, pourquoi si $_SESSION = true, on redirige vers le formulaire d'identification ?

par charabia » 18 mai 2006, 11:40

Oui tu peux définir le temps dans le php.ini : session.lifetime.

Les autres pages reconnaissent la session dès que tu démarres les sessions avec session_start(); dans tes pages.

par ouckileou » 18 mai 2006, 11:40

En fait tu n'as pas à trop te soucier du fonctionnement des sessions

les sessions servent à stocker des valeurs pour les transmettre entre les pages

après c'est à toi de coder le sécurisation de ton site

Exemple quand on arrive sur une page :
<?php
if ($_SESSION['identifie'] != true) {
   // redirection vers formulaire d'authentification
   exit();
}
?>

par béka » 18 mai 2006, 11:34

ok, donc si je résume, une session est un fichieroùsont stockées des info concernant l'utilisateur identifié.
Grace à ce "fichier", il peut avoir accès à différentes pages sans saisir à nouveau un formulaire d'identification. Cette session a une durée définie dans php.ini (j'espere que c'est ca?).

Mais comment, les autres page .php reconnaissent cet utilisateur identifié ?

par charabia » 18 mai 2006, 11:25

C'est le tit encadré que je t'ai mis plus haut ;)

Code : Tout sélectionner

Une session est en fait un fichier conservé sur le serveur et accessible à vos scripts en fonction d'un identifiant généré à la création. Chaque fois qu'un de vos visiteurs génère une session, un identifiant lui est attribué. Tout ce qui est dans cette session est accessible de partout à vos scripts. On comprend dès lors très vite tout l'intérêt de la chose. En effet, si chaque session est propre à un visiteur, on peut personnaliser nos scripts en fonction du visiteur, ou encore alléger nos requêtes : plutôt que d'aller chercher un pseudonyme dans la base de donnée sur chaque page, vous le rapatriez à l'arrivée du visiteur sur le site, vous le stockez en session et c'est de là que vous y accéderez par la suite. La session est finalement l'équivalent d'un cookie en plus sécurisé. En effet, étant stocké sur le serveur et non chez le client, elle est plus difficile d'accès aux éventuels pirates. Mais un risque demeure, prenez donc l'habitude de ne pas y stocker des informations trop sensibles. N'oubliez pas également que la session, à la différence du cookie, n'est valable qu'un temps limité (aux alentours des 30 minutes, mais cela dépend de la configuration de votre serveur), et est automatiquement détruite à la fermeture du navigateur du visiteur.

par béka » 18 mai 2006, 11:11

ce que je ne comprends pas, c'est comment une session permet à un utilisateur d'avoir accès a plusieurs pages. Comment cela se caractérise?