Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur lors de récupération d'un cookie

Sujet résolu
    18 septembre 2021 à 7:42:04

    J'ai un soucis avec le code source de mon site quand je crait des cookies sur une page ça le fait 

    ;  mais quand j'arrive sur une autre page et je verifie l'existence des cookies avec un isset() dans un 'if' ça ne prends pas

    ;  mais quand je vérifie le contraire donc '  !isset() ' ça prends et ça entre dans la condition mais ça me renvois ces messages d'ereurs sur ma page web :

    -
    Edité par AYA_dev 18 septembre 2021 à 8:00:21

    • Partager sur Facebook
    • Partager sur Twitter

    AYA_dev

      18 septembre 2021 à 11:29:14

      Il ne faut pas mettre ces données en cookie, on peut potentiellement usurper le compte de quelqu'un (il n'y a vraiment aucun contrôle des données en cookies par rapport à la bdd ?!?) et le mot de passe, même haché, n'a rien à faire en cookie comme en session.

      On peut voir plus de code pour le premier ? Car :

      1. on ne sait pas d'où sortent les variables
      2. on ne sait pas non plus s'il y a une sortie avant

      (et pas via un screen mais inséré comme du code, merci)

      Quelles sont les URL des deux scripts ? Si tu fais F12 > Stockage > Cookies, y retrouves-tu tes cookies ? Si oui, avec quelles propriétés ?

      Les deux scripts sont dans des arborescences différentes et le path par défaut fait qu'ils n'existent pas (ne sont pas envoyés plutôt) pour l'autre script ?

      Ton PHP est configuré avec output_buffering à on + display_errors à off et une sortie avant les setcookie les bloque ?

      -
      Edité par julp 18 septembre 2021 à 12:57:30

      • Partager sur Facebook
      • Partager sur Twitter
        18 septembre 2021 à 18:07:59

        Bonjour,

        Merci de colorer votre code à l'aide du bouton Code

        Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Code de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: php;">Votre code ici</pre>.

        Merci de modifier votre message d'origine en fonction.

        Manque de Politesse

        Votre message ne comporte pas ou peu de formules de politesse (« Bonjour », « Merci », « Au revoir », etc.). Les règles du site exigent que chaque nouveau message comporte un minimum de politesse. Après tout, les gens qui répondent le font gratuitement, sur leur temps libre. Ils méritent bien un minimum de considération, n'est-ce pas ?

        Liens conseillés

        • Partager sur Facebook
        • Partager sur Twitter
          19 septembre 2021 à 5:43:49

          merci de me répondre désolé de l'impolitesse; voila le code source demandé :

          <?php
          
            include_once('../modele/connection_sql.php');
          
          
            if(isset($_POST['pseudonyme']) and isset($_POST['password']) )
            {
          
              $_POST['pseudonyme'] = htmlspecialchars($_POST['pseudonyme']);
              $_POST['password'] = htmlspecialchars($_POST['password']);
              $password_hache = sha1('em'.$_POST['password']);
          
              include_once('../modele/modele_index.php');
          
              if( !$data )
              {
                echo 'Le pseudonyme entré est incorrect' ;
              }
              else
              {
                //on crait les variables de session du visiteur
                session_start();
                $_SESSION['id'] = $data['id'];
                $_SESSION['pseudonyme'] = $data['pseudonyme'];
                $_SESSION['statut'] = 'connecté';
          
                //on verifi si la case est cochée et on crait les cookies de connection automatique si tel est le cas
                if( isset($_POST['connection_automatique']) )
                {
                  setcookie('pseudonyme', $_POST['pseudonyme'] , time()+ 365*24*3600 , null , null , false , true );
                  setcookie('password', $password_hache , time()+ 365*24*3600 , null , null , false , true );
                  setcookie('id', $_SESSION['id'] , time()+365*24*3600 , null , null , false , true );
                  echo 'cookies crées';
                  //header('Location: ../vue/acceuil.php');
                }
          
          
              }
            }
          

          >>Et oui les fichiers de mes codes sources ne sont pas dans le même dossier



          • Partager sur Facebook
          • Partager sur Twitter

          AYA_dev

            19 septembre 2021 à 10:54:44

            Je n'ai pas tout ce que j'ai demandé ...

            > Et oui les fichiers de mes codes sources ne sont pas dans le même dossier

            Essaie d'expliciter le paramètre path des setcookie avec '/' pour valeur au lieu d'utiliser null (c'est la seule chose que je peux te dire d'essayer à l'aveugle en l'absence de détails)

            Tes include produisent potentiellement des sorties (saut de ligne après ?>).

            htmlspecialchars est mal utilisé, ce n'est pas ici que l'on devrait le trouver et avec ton usage des cookies, on peut usurper le compte de qui on veut.

            -
            Edité par julp 19 septembre 2021 à 10:56:13

            • Partager sur Facebook
            • Partager sur Twitter
              21 septembre 2021 à 15:53:26

              >J'ai pas de saut de ligne

              >Où devrait se trouver les htmlspeciakchars s'il te plait ? 

              >que me conseille tu s'il te plait pour un meilleur usage des cookies afin d'éviter une usurpation d'identité ?  

              • Partager sur Facebook
              • Partager sur Twitter

              AYA_dev

                21 septembre 2021 à 17:24:09

                > Où devrait se trouver les htmlspecialchars s'il te plaît ?

                Sur les echo.

                > que me conseilles-tu s'il te plaît pour un meilleur usage des cookies afin d'éviter une usurpation d'identité ?

                Un token ?

                • Partager sur Facebook
                • Partager sur Twitter
                  25 septembre 2021 à 18:37:19

                  Merci à toi @Julp c'est mieux d'authentifier avec les tokens d'identification ;  reste à savoir bien les utiliser
                  • Partager sur Facebook
                  • Partager sur Twitter

                  AYA_dev

                  Erreur lors de récupération d'un cookie

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  • Editeur
                  • Markdown