diff options
| author | polo <ordipolo@gmx.fr> | 2021-11-26 04:29:10 +0100 |
|---|---|---|
| committer | polo <ordipolo@gmx.fr> | 2021-11-26 04:29:10 +0100 |
| commit | b97a68343ec5c4ff1fae25ff5dc41f1a2ce6a17f (patch) | |
| tree | 528ec98f86a61b492d7ebce61486647f633b1f42 /controller/Security.php | |
| parent | cdf1bda847edd3e22e9fe817a802219ad8e0f626 (diff) | |
| download | melaine-b97a68343ec5c4ff1fae25ff5dc41f1a2ce6a17f.tar.gz melaine-b97a68343ec5c4ff1fae25ff5dc41f1a2ce6a17f.tar.bz2 melaine-b97a68343ec5c4ff1fae25ff5dc41f1a2ce6a17f.zip | |
disco modif/suppr désordre
Diffstat (limited to 'controller/Security.php')
| -rw-r--r-- | controller/Security.php | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/controller/Security.php b/controller/Security.php new file mode 100644 index 0000000..98d2e74 --- /dev/null +++ b/controller/Security.php | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | <?php | ||
| 2 | // controller/Security.php | ||
| 3 | |||
| 4 | // sécurité faille XSS avec htmLawed | ||
| 5 | require('lib/htmlawed/htmLawed.php'); | ||
| 6 | |||
| 7 | class Security // toute statique, inutile de l'instancier | ||
| 8 | { | ||
| 9 | private static $configHtmLawed = array( | ||
| 10 | 'safe'=>1, // protection contre les élements et attributs dangereux | ||
| 11 | 'elements'=>'h2, h3, h4, p, br, span, i, strong, u, mark, blockquote, li, ol, ul, a, figure, hr, img, figcaption, table, tbody, tr, td', // paramètre optionnel: les balises non indiquées sont supprimées | ||
| 12 | 'deny_attribute'=>'id', // gêner le JS hostile | ||
| 13 | // on garde 'class' et 'style' utilisés par le ckediteur | ||
| 14 | ); | ||
| 15 | private static $specHtmLawed = ''; // optionnel: faire qu'un certain élément puisse n'avoir que certains attributs | ||
| 16 | |||
| 17 | public static function secureString($chaine) | ||
| 18 | { | ||
| 19 | $chaine = htmLawed($chaine, self::$configHtmLawed, self::$specHtmLawed); | ||
| 20 | $chaine = trim($chaine); // supprimer espaces, tabulations et sauts de ligne en début et fin de chaine (pour l'entrée de l'éditeur) | ||
| 21 | return $chaine; | ||
| 22 | } | ||
| 23 | } | ||
