Partage
  • Partager sur Facebook
  • Partager sur Twitter

sécuriser données avec 'mysqli_real_escape_string'

    19 mai 2019 à 17:57:22

    bonjour,

    Pour traiter les données d'un formulaire je fais appel à une fonction (vue sur ce site):

    <?php
    	function securiteDonnees($string){
    		
    		
    		 $cnx = mysqli_connect('localhost','root','','mon site');
    		
    		// On regarde si le type de string est un nombre entier (int)
    		if(ctype_digit($string)){ $string = intval($string);}
    		
    		    // Pour tous les autres types
    		else {
    			$string = mysqli_real_escape_string($cnx,$string);
    			$string = addcslashes($string, '%_');
    		}
    		
    		return $string;
    	}
    	
    	 
    ?>

    En local ça marche mais pas sur site. Pourquoi ?

    Merci de votre aide.



    • Partager sur Facebook
    • Partager sur Twitter
      19 mai 2019 à 18:10:45

      Parce que tu n'utilises pas mysqli ? Parce que la connexion foire ? Enfin, active les erreurs quoi si tu veux savoir pourquoi ça plante (php + mysqli).

      Il ne faut pas utiliser ça :

      • ce addcslashes n'a sa place que pour un LIKE
      • tu échappes 50 données, tu crées 50 connexions MySQL

      -
      Edité par julp 19 mai 2019 à 18:11:25

      • Partager sur Facebook
      • Partager sur Twitter
        19 mai 2019 à 22:41:06

        Bonjour,

        Pour compléter, ligne 8, tu vérifies si une chaîne ne comporte que des chiffres et tu la transformes... en nombre ! Un peu inutile, non ? Surtout dans le seul but de sécuriser la variable.

        En bref, ta fonction pourrait se résumer à mysqli_real_escape_string(), donc inutile de réinventer la roue.

        • Partager sur Facebook
        • Partager sur Twitter
          25 mai 2019 à 15:09:02

          Bonjour,

          Merci de m'avoir répondu. 

          Je n'ai fait que reprendre le code de ce tuto openClassroom,

          Sécurité PHP, sécuriser les flux de données  

          https://openclassrooms.com/fr/courses/378027-securite-php-securiser-les-flux-de-donnees

          Je vais donc voir différemment voir plus simple. Merci.



          • Partager sur Facebook
          • Partager sur Twitter
            25 mai 2019 à 16:16:59

            Tu ne nous as toujours pas dit comment tu l'utilises (ton code quoi).

            > Je vais donc voir différemment voir plus simple

            Si tu préparais tes requêtes tu n'aurais besoin de rien de plus.

            • Partager sur Facebook
            • Partager sur Twitter

            sécuriser données avec 'mysqli_real_escape_string'

            × 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