Après recherches sur le web en m'intéressant sur la sécurité, je suis tombé sur ce post qui parle de l'utilisation de htmlentities, htmlspecialchars, les requetes PDO et la gestion d'exeptions.
http://www.developpez.net/forums/d64081 ... ost3779301
J'ai plusieurs questions à vous poser avant d'entamer pour ma part une restructuration complète de mes codes effectués à ce jour...
Dans l'article, on parle d'utiliser htmlentities pour (si j'ai bien compris) filtrer les variables avant de les utiliser
exemple :
$test = $_POST['test'];
// deviens
$test = htmlentities ($_POST['test'], ENT_QUOTES);
Jusque là, j'ai pigé. Mais ce que je ne comprends pas c'est l'utilisation de htmlspecialchars qui lui est utilisé pour filter également les données avant de les utiliser ... comme ceci :$noXSS = htmlspecialchars($_GET['xss'], ENT_QUOTES);
echo $noxss;
Si je tente de comprendre, je dois utiliser htmlentities pour les variables récupérées (hors mis $_GET et $_POST) et utiliser htmlspecialchars pour les données $_POST et $_GET ???Toujours dans cet article, on parle d'utiliser les exceptions pour apparemment éviter les attaques multiples comme : les failles d'appel, les injections sql, le vol de session, les attaques combinées...
Est ce vraiment utile ?? Quel est le rôle réel des exceptions ?
try
{
$connexion = new PDO ( ... );
$connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "...";
foreach ($connexion->query($sql) as $row)
{
...
}
$connexion = null;
}
catch (PDOException $e)
{
echo $e->getMessage();
}
Bref, que dois-je faire et comment pour sécuriser mon code ?
(je suis déjà en requetes PDO mais cela ne suffit apparemment pas)
Merci pour le maximum de précisions que vous m'apporterez,
Raph