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

PHP & Base de données Discussion :

mysql_real_escape_string en PDO?


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 7
    Points : 4
    Points
    4
    Par défaut mysql_real_escape_string en PDO?
    Bonjour,

    Pour mon site, je suis en train de modifier le mysql en PDO. Et avant pour sécuriser les informations, j'utilisais le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_real_escape_string
    Mais comme ce code est devenu obsolète, je dois le changer en PDO. Mais je suis un peu perdu.
    Je voulais savoir s'il existe un code équivalent et comment je pourrai le mettre en pratique?

    Le code de cette partie est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      $_GET['id'] = mysql_real_escape_string(htmlspecialchars($_GET['id']));
    Merci d'avance pour votre aide.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Salut,

    L'équivalent de mysql_real_escape_string pour pdo est la fonction quote(). C'est pas tout à fait l'équivalent car la fonction quote met des quotes en début et en fin de chaine.
    A la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query =  "SELECT * from table WHERE champ = '".mysql_real_escape_string($_POST['champ'])."' AND ... "
    c'est donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query =  "SELECT * from table WHERE champ= ".quote($_POST['champ'])." AND ... "
    Cela dit avec pdo on recommande de faire des requête préparées pour une meilleure sécurité dès que l'on intègre des variables utilisateurs dans la requête.

  3. #3
    ovh
    ovh est déconnecté
    Rédacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 841
    Points : 6 513
    Points
    6 513
    Par défaut
    Citation Envoyé par ABCIWEB Voir le message
    Cela dit avec pdo on recommande de faire des requête préparées pour une meilleure sécurité dès que l'on intègre des variables utilisateurs dans la requête.
    Exactement, c'est sans nul doute vers les requêtes préparées que tu dois te tourner pour moderniser ton appli.

    Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

    Pensez à consulter les FAQs et les cours et tutoriels.
    FAQ Linux - Cours et tutoriels Linux - FAQ PHP - Cours et tutoriels PHP
    Ce forum est fait pour vous et surtout par vous, merci d'en respecter les règles.

    Je n'ai rien à voir avec la société www.ovh.com !

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 7
    Points : 4
    Points
    4
    Par défaut mysql_real_escape_string en PDO?
    Bonsoir,

    Merci pour vos réponses.

    Comment on peut faire des requetes preparées? J'ai cherché sur le site de PHP mais je n'ai pas très bien compris.

    Merci d'avance,

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Salut,

    T'as regarder quelle page ? Celle-ci est très bien pour commencer.

    Et puis y'a un tuto ici. La seule critique sur ce tuto est qu'il ne parle pas de la possibilité de passer un tableau dans la fonction execute(), ce qui est pourtant très pratique. Il s'en suit que le paragraphe IV.b (Comment faire face à un nombre de place holders dynamique) est très laborieux et en plus on utiliserait de préférence array_fill() pour construire dynamiquement le tableau de marqueurs. Mais bon à par ce paragraphe le reste est intéressant.

    Et puis n'oublie pas la doc php, il faut regarder un peu toutes les fonctions car les exemples sont répartis sur les nombreuses fonctions. Celle de prépare() donne aussi des exemples avec des tableaux passés en paramètre dans la fonction execute().

    Un peu plus tard (ou pendant ces lectures) faudra t'intéresser à la gestion des exceptions pour avoir une vision plus complète.

    Avec ces liens tu devrais pouvoir commencer sur de bonnes bases.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Salut,

    Merci pour ces liens, je vais regarder...

Discussions similaires

  1. [PDO] PDO et mysql_real_escape_string
    Par basket dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/01/2010, 08h55
  2. [MySQL] PDO et mysql_real_escape_string
    Par popy67 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 07/06/2009, 23h01
  3. [POO] PDO et fetch_INTO
    Par jeff_! dans le forum Langage
    Réponses: 6
    Dernier message: 25/01/2006, 14h22
  4. [SGBD] Utilisation de mysql_real_escape_string()
    Par Space Cowboy dans le forum Requêtes
    Réponses: 1
    Dernier message: 27/11/2005, 10h24
  5. [MySQL] [SGBD] [mssql] Equivalent mysql_real_escape_string pour mssql
    Par PoZZyX dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/10/2005, 11h37

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