Je suis en train de développer un petit module permettant d'insérer du
texte dans une base depuis une interface basée sur FCKEditor.
Je compte utiliser la fonction bind_param, mais je voulais savoir si
cette fonction s'occupe de protéger les chaînes passées en paramètres,
ou bien faut-il que pour chaque argument j'applique escape_string dessus ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
Bonjour,
Le 19/01/2009 22:35, Jeremie a écrit :
Je suis en train de développer un petit module permettant d'insérer du texte dans une base depuis une interface basée sur FCKEditor.
Je compte utiliser la fonction [mysqli_]bind_param,
<cit. http://fr2.php.net/manual/fr/function.mysqli-bind-param.php> Cette fonction est un alias de la fonction mysqli_stmt_bind_param(). Note: La fonction mysqli_bind_param() est obsolète et devrait être supprimée. </cit.>
mais je voulais savoir si cette fonction s'occupe de protéger les chaînes passées en paramètres, ou bien faut-il que pour chaque argument j'applique escape_string dessus ?
Je n'y connais rien, mais en lisant la doc je vois que l'on sépare la requête (mysqli_prepare) et les données (mysqli_stmt_bind_param), aussi cette méthode semble naturellement protéger des injections dues au mélange des deux dans un même appel.
Cela étant dit, je laisse les spécialistes répondre.
-- Olivier Miakinen
Bonjour,
Le 19/01/2009 22:35, Jeremie a écrit :
Je suis en train de développer un petit module permettant d'insérer du
texte dans une base depuis une interface basée sur FCKEditor.
Je compte utiliser la fonction [mysqli_]bind_param,
<cit. http://fr2.php.net/manual/fr/function.mysqli-bind-param.php>
Cette fonction est un alias de la fonction mysqli_stmt_bind_param().
Note: La fonction mysqli_bind_param() est obsolète et devrait être
supprimée.
</cit.>
mais je voulais savoir si
cette fonction s'occupe de protéger les chaînes passées en paramètres,
ou bien faut-il que pour chaque argument j'applique escape_string dessus ?
Je n'y connais rien, mais en lisant la doc je vois que l'on sépare la
requête (mysqli_prepare) et les données (mysqli_stmt_bind_param), aussi
cette méthode semble naturellement protéger des injections dues au
mélange des deux dans un même appel.
Cela étant dit, je laisse les spécialistes répondre.
Je suis en train de développer un petit module permettant d'insérer du texte dans une base depuis une interface basée sur FCKEditor.
Je compte utiliser la fonction [mysqli_]bind_param,
<cit. http://fr2.php.net/manual/fr/function.mysqli-bind-param.php> Cette fonction est un alias de la fonction mysqli_stmt_bind_param(). Note: La fonction mysqli_bind_param() est obsolète et devrait être supprimée. </cit.>
mais je voulais savoir si cette fonction s'occupe de protéger les chaînes passées en paramètres, ou bien faut-il que pour chaque argument j'applique escape_string dessus ?
Je n'y connais rien, mais en lisant la doc je vois que l'on sépare la requête (mysqli_prepare) et les données (mysqli_stmt_bind_param), aussi cette méthode semble naturellement protéger des injections dues au mélange des deux dans un même appel.
Cela étant dit, je laisse les spécialistes répondre.
-- Olivier Miakinen
Mickael Wolff
Jeremie a écrit :
Bonjour à tous,
Je suis en train de développer un petit module permettant d'insérer du texte dans une base depuis une interface basée sur FCKEditor.
Je compte utiliser la fonction bind_param, mais je voulais savoir si
La fonction membre de la classe mysqli_stmt.
cette fonction s'occupe de protéger les chaînes passées en paramètres,
La fonction ne protège rien. Cependant, puisque la requête n'est pas fabriquée, on évite les problèmes d'injection SQL.
ou bien faut-il que pour chaque argument j'applique escape_string dessus ?
Je compte utiliser la fonction bind_param, mais je voulais savoir si cette fonction s'occupe de protéger les chaînes passées en paramètres, ou bien faut-il que pour chaque argument j'applique escape_string dessus ?
Bonjour,
Pour cette fonctionnalité, il vaut mieux utiliser l'interface PDO. Ses objets supportent pratiquement les mêmes méthodes et propriétés que Mysqli, mais en faisant abstraction du type de SGBD. De plus, les entrées préparées sont systématiquement protégées.
Je compte utiliser la fonction bind_param, mais je voulais savoir si
cette fonction s'occupe de protéger les chaînes passées en paramètres,
ou bien faut-il que pour chaque argument j'applique escape_string dessus ?
Bonjour,
Pour cette fonctionnalité, il vaut mieux utiliser l'interface PDO.
Ses objets supportent pratiquement les mêmes méthodes et propriétés que
Mysqli, mais en faisant abstraction du type de SGBD.
De plus, les entrées préparées sont systématiquement protégées.
Je compte utiliser la fonction bind_param, mais je voulais savoir si cette fonction s'occupe de protéger les chaînes passées en paramètres, ou bien faut-il que pour chaque argument j'applique escape_string dessus ?
Bonjour,
Pour cette fonctionnalité, il vaut mieux utiliser l'interface PDO. Ses objets supportent pratiquement les mêmes méthodes et propriétés que Mysqli, mais en faisant abstraction du type de SGBD. De plus, les entrées préparées sont systématiquement protégées.