Salut,
je viens de voir la vidéo sur les failles XSS, tu n'as pas parler de "htmlspecialchars", j'ai appris cette méthode, est-ce moins bien que celle que tu as présenté?

Exemple sur un systeme de commentaire:
Je récupère le commentaire posté:

$commentaire = htmlspecialchars($_POST'commentaire']);

Puis je l’injecte nettoyé dans la base:

$req = $bdd->prepare('INSERT INTO xxx(commentaire) VALUES(':commentaire');
$req->execute(array(
    'commentaire' => $commentaire

Au moins je n'ai plus à m'en souci lorsque je le rappel pour l'affichage.

Qu'en penser vous?

2 réponses


Bonsoir,

Je pense qu'il y a toujours une faille mais SQL cette fois ci.
Je sais pas ce qui en PDO correspond au mysql_escape_string() mais tu devrais t'y pencher sérieusement ;)

neocorp
Auteur

Je n'ai pas mis l’intégralité du code
La connexion ce ferai comme ceci:

try
{
    // On se connecte à MySQL
    $bdd = new PDO('mysql:host=localhost;dbname=xxx', 'root', '');
}
catch(Exception $e)
{
    // En cas d'erreur, on affiche un message et on arrête tout
        die('Erreur : '.$e->getMessage());
}

Cependant, c'est surtout sur les failles XSS que je me concentre, dans le cas présent, la façon codé est elle bonne car il a été proposé 2 autres façons sur la video, y en à t'il une mieux que l'autre ou c'est équivalent?