Partage
  • Partager sur Facebook
  • Partager sur Twitter

stripslashes(htmlentities(...

c'est pas un peu trop ?

Sujet résolu
Anonyme
    2 décembre 2005 à 9:48:30

    Bonjour. Je suis en train de coder mes pages d'accès membre... Donc je cherche à me renseigner le plus possible sur les erreurs à ne pas commettre pour sécuriser mon site (même si entre nous, il n'intéressera pas grand monde...)

    Je suis tombé dans un tuto sur la sécurité sur cette ligne :

    stripslashes(htmlentities(trim($_POST['login'])))

    o_O C'est pas un peu redondant ça ???

    htmlentities n'enlève-t-il pas déjà les \ ?
    et trim() c'est nécessaire pour la sécurité ou bien c'est juste pour virer les espaces ?

    Dernière question : si après, je passe cette variable à la "moulinette REGEX" pour vérifier que les login et mot de passe sont valides (maj,min,chiffres,".","-""_") ai-je vraiment besoin de mettre des htmlentites() avant (bah oui je suis un peu flemmard :-° )?

    Merci
    PS : Bison si tu passes par là, j'aime bien tes réponses. C'est clair et sans erreur ;)
    • Partager sur Facebook
    • Partager sur Twitter
      2 décembre 2005 à 9:52:52

      euh
      un flemmard fait un htmlentities et pas de regex
      utiliser une regex ne devrait pas se faire à la légère : s'il s'agit uniquement dotorisé les lettres/chiffres dans un login c'est inutil voir même un gaspillage de ressource ;-)
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        2 décembre 2005 à 10:11:32

        ça c'est bien une réponse de normand...

        Pour la regex, je ne savais pas que ça mangeait tant de ressources que ça sur des champs aussi court que login et mot de passe. Mais ceci dit, ce n'est pas que pour la vérif, j'y fait aussi des modifs pour pouvoir conserver ces infos sans qu'apparaîssent les vrai login et mdp dans la BDD et dans le $_SESSION.

        Sinon, sais-tu répondre à mes questions ?
        - redondance stripslashes & htmlentities
        - redondance regex & htmlentities

        PS : le flemmard, c'était un peu de la joke :-° je crois pas qu'il existe beaucoup de flemmards qui se penchent plus de 5 minutes sur le PHP, le XHTML, le CSS, LINUX (tiens qu'est-ce qu'il fout dans cette liste lui) et autres diverses choses capilotractées...
        Alors disons que je suis partisan du moindre effort. Ce qui ne veut pas dire rien, mais plutôt "le minimum pour obtenir ce que je veux"... et c'est parfois beaucoup.
        • Partager sur Facebook
        • Partager sur Twitter
          2 décembre 2005 à 10:17:09

          Mais si, tout le monde est flemmard :p
          Et c'est pas parce que t'es flemmard que tu ne te penches pas sur le PHP: la preuve, l'équie du SdZ elle-même affirme qu'elle l'est ;) .

          Sinon, je pense, que pour bien sé"curiser une variable :
          $var = addslashes(htmlspecialchars($var));

          trim() ne joue pas sur la sécurité, mais plutôt , pour enlever les espaces en début et en fin de chaîne, donc pour éviter qu'un membre aie un pseudo vide .

          A+ ;) .
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            2 décembre 2005 à 10:35:40

            o_Oo_O
            Tu peux préciser s'il te plait ? Là je ne comprends plus...

            pour le htmlentities / htmlspecialchars ça va j'ai lu les autres post...

            mais par contre, pourquoi rajouter les slashes ?
            (je ne vois pas trop quelqu'un mettre une apostrophe dans un login ou mot de passe...)
            • Partager sur Facebook
            • Partager sur Twitter
              2 décembre 2005 à 12:08:26

              Pourquoi t'aurai pas un membre qui s'appelle L'homme invisible ou L'éléphant ?
              Une apostrophe dans un pseudo ne me semble pas si rare.
              Je veux pas dire de betises (donc à vérifier), mais tu peux aussi utiliser htmlspecialchars,ENT_QUOTES pour les guillemets et apostrophes.
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                2 décembre 2005 à 16:04:34

                Ok j'avais pas percuté.

                Donc dans mon cas,

                $login=addslashes(htmlspecialchars($_POST['login'],ENT_QUOTES));
                $mot_de_passe=md5(addslashes(htmlspecialchars($_POST['login'],ENT_QUOTES)));

                Ca permet les accents,guillemets, apostrophes et ça évite tout les codes malicieux...

                J'ai donc plus besoin de passer une regex par dessus.

                Mais si je veux enregistrer le login et le mot de passe en modifiant les valeurs entrées avec une regex, ai-je quand même besoin des addslashes et htmlspecialchars avant ??? :euh:
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  4 décembre 2005 à 0:20:15

                  up... queqlqu'un peut me confirmer le contenu du dernier post plizzzzz. merci
                  • Partager sur Facebook
                  • Partager sur Twitter
                    4 décembre 2005 à 0:54:00

                    Ca me semble bon :)

                    Mais ça non
                    $mot_de_passe=md5(addslashes(htmlspecialchars($_POST['login'],ENT_QUOTES)));
                    ça suffit :
                    $mot_de_passe = md5($_POST['login']);

                    Regarde à quoi ressemble une chaine md5, impossible d'y glisser quoique ce soit qui fouttrait ta base sql en l'air ^^
                    C'est du cryptage, alors si le cryptage n'empeche pas ça :) Qu'est ce qui le ferait ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      4 décembre 2005 à 1:02:23

                      Salut
                      je te conseille d'utiliser la fonction trim() sur les pseudo, pour eviter que des gens mal intentionner prennet le meme pseudo qu'un personne importante et rajoute juste un espace a la fin.
                      Si c'est pour un forum par exemple tu peu te retrouvé avec 2 menbres au pseudo indiscernable et ca peux poser des problemes
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        4 décembre 2005 à 11:44:09

                        Merci à vous 2... effectivement, pour le pass, je m'étais dit la même chose, mais dans le doute... par contre j'avais déjà enlevé les ENT_QUOTES car (et je ne comprends pas pourquoi puisque le mot de passe ne contenait que des chiffres) le résultat n'était pas le même avec et sans...

                        Merci pour l'info sur trim. J' en comprends mieux l'usage et l'intérêt... Pour cette fois-ci, inutile, ça ne concerne pas un forum, mais un espace membres privé (pas d'inscriptions libres)...

                        D'ailleurs, je finis de le mettre au point et je rendrai bientôt ma copie sur le forum pour les derniers conseils de sécurité et éventuellement si d'autres zéros veulent récupérer le code pour leur partie membres (j'ai vu que beaucoup en cherchait)
                        • Partager sur Facebook
                        • Partager sur Twitter

                        stripslashes(htmlentities(...

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown