2010-03-05 10 views
4

Je me demande si la fonction insert de wordpress ajoute aussi des barres obliques aux données .Si ce n'est pas le cas, il semblerait que la méthode prepare . mieux pour prévenir contre l'injection SQL j'essayé de regarder la question en y codex/api;.!. cependant, il semble en situation irrégulière MerciWordpress: wpdb-> insert VERSUS wpdb-> prepare (wpdb-> query ("INSERT

Répondre

4

Wordpress utilise ezSQL pour interroger la base de données techniquement, ce n'est pas une couche d'abstraction mais ezSQL a une fonction escape donc je suppose que Wordpress appellera toujours la fonction d'échappement avant d'exécuter une requête, mais pour être certain, vous devrez jeter un coup d'oeil au code source

Voici comment échapper à une chaîne dans Wordpress:
$safe_string = $wpdb->escape($unsafe_string);

12

Cette question est un peu vieux et le codex a peut-être été mis à jour depuis qu'il a été demandé. Les deux wpdb->insert() et wpdb->prepare() offrent le même niveau de sécurité concernant l'échappement SQL des données d'entrée.

Le codex states que la colonne et les valeurs de données fournies à la méthode d'insertion doivent être brutes, pas SQL échappé. J'ai également jeté un coup d'œil rapide à la source pour confirmer. L'implémentation de la méthode insert utilise wpdb->prepare().

+0

+1. Ne fait plus de trucs wordpress; Cependant, cette réponse berce. Je me souviens de ne pas savoir ce que préparait le tout ou pourquoi tous les exemples l'utilisaient. – Parris