IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Cookies] migrer un site session global vers session.use_cookies


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de Giantrick
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    300
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 300
    Points : 195
    Points
    195
    Par défaut [Cookies] migrer un site session global vers session.use_cookies
    Bonjour,

    Je suis actuellement en train de migrer un site qui était sous session global (avec le register_global=on) vers un type de session avec cookie ("session.use_cookies").

    J'ai complètement, et avec succès, généré ma session avec cookies.

    Par contre, je voudrais être sur de la démarche pour protéger toutes mes pages sur l'intégralité de mon site.

    Avant (avec l'ancien mode de session global) je faisais un test sur chaque page comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?
    //******* fonction check_valid_user pour vérifier si une session est ouverte function check_valid_user_page()
    // voir si qqun est déjà enregistré et les prévenir (et rediriger) si ce n'est pas le cas
    {
      global $username;
      if (session_is_registered("username"))
      {        
      }
      else
      {
         print ("<a href='index.php' target=_top>Retour à la page d'identification</a></font></td></tr></table>");
      exit;}
    }
    ?>
    Dois-je toujours en faire un avec les cookies ?

    Comment puis-je être certains que personne ne pourra afficher un page au hasard de mon site sans s'être logé avec un identifiant et un mot de passe ?

    Merci de vos réponses.
    -----------------------------------------------------
    - Etre clair dans sa demande, facilite les réponses.
    - Organiser son travail et sa programmation est indispensable à une rapide évolution.
    - Remercier ceux qui vous ont aider favorise le contact et augmente votre crédibilité.

    Le géant du sud-ouest...

  2. #2
    Membre habitué Avatar de Giantrick
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    300
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 300
    Points : 195
    Points
    195
    Par défaut
    Bon, merci aux lecteurs,

    J'ai trouvé ma réponse (enfin celle que je vais adopté après avoir lu, testé et réussi) les exemples et conseils du tutorial suivant :

    http://php.developpez.com/cours/sessions/?page=manip

    Merci à l'auteur...

    J'ai donc tout de même créer un petit script d'en-tête que voici et que j'appelle sur le haut de chaque page et cela fonctionne super.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?
     //toutes les fonctions utilisables pour toutes les pages
    //*********************************************************************************
    //******* fonction check_valid_user pour vérifier si une session est ouverte ******
    //*******             FONCTION A RAPELER SUR CHAQUE PAGES DU SITE            ******
    //*********************************************************************************
    function check_valid_user_page()
    // voir si qqun est déjà enregistré et les prévenir (et rediriger) si ce n'est pas le cas
    {
    	if(isset($_SESSION['username']))
    		{
    		//rien à faire, la page s'affiche
    		}	
      else
      {
      if(isset($_COOKIE[session_name()]))
    	{
    	 setcookie(session_name(), '',time()-3600); // cela détruit le cookie de session (j'ai appliqué bêtement l'instruction d'un bouquin
    	 session_destroy(); // cela détuit la session
    	}  
         print ("
         <a href='./index.php' target=_top>Retour à la page d'identification</a>");
      exit;}
    }
    ?>
    Voilà pour ceux qui veulent me faire des commentaires, ou bien des critiques de sécurité que je n'aurais pas vu (je ne connais pas tout), je laisse le sujet encore quelques jours avant de le passer en Résolu

    (je le fais volontairement car je pense que je ne suis pas le seul (novice) a expérimenter ces petits soucis)

    Merci à tous
    -----------------------------------------------------
    - Etre clair dans sa demande, facilite les réponses.
    - Organiser son travail et sa programmation est indispensable à une rapide évolution.
    - Remercier ceux qui vous ont aider favorise le contact et augmente votre crédibilité.

    Le géant du sud-ouest...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. DataSet Global vers session avec modification
    Par byrong dans le forum ASP.NET
    Réponses: 0
    Dernier message: 27/10/2013, 22h24
  2. Réponses: 0
    Dernier message: 09/03/2011, 22h44
  3. [Joomla!] Migrer un site de Postnuke vers Joomla
    Par miltonis dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 10/08/2009, 10h53
  4. Migrer un site en ASP vers PHP ou ASP.Net
    Par fredouille31 dans le forum ASP
    Réponses: 4
    Dernier message: 23/08/2007, 21h17
  5. [Cookies] C'est quoi un vol de session ?
    Par psychoBob dans le forum Langage
    Réponses: 45
    Dernier message: 28/05/2006, 22h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo