DokuWiki

It's better when it's simple

Outils pour utilisateurs

Outils du site


fr:devel:security

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
fr:devel:security [2016-03-03 13:38]
julieng
fr:devel:security [2016-03-03 14:04] (Version actuelle)
julieng [Cross Site Scripting (XSS)]
Ligne 1: Ligne 1:
-:!: Cette page n'est pas encore ​complète ​traduite. ​+:!: Cette page n'est pas encore ​complètement ​traduite. ​
  
 ====== Guide de sécurité à destination des auteurs de plugin ====== ====== Guide de sécurité à destination des auteurs de plugin ======
Ligne 20: Ligne 20:
  
  
-===== Cross Site Scripting ​(XSS=====+Le mécanisme de gestion des plugins de DokuWiki permet aux développeurs de plugin un compromis intéressant de flexibilité. Dans le cas des extensions de syntaxe ​(//c-à-d la possibilité de mettre en forme par des raccourcis//​en particulier,​ le cadre permet la capacité de travailler avec une « production brute » non traitée (//c-à-d le code source de la page, tel qu'il a été ajouté par les utilisateurs//​). Cela signifie que les données de la page wiki qui sont traitées par votre plugin n'ont pas été traitées **du tout**. Et qu'il n'y aura aucun autre traitement sur le contenu sorti de votre plugin. ​
  
-C'est la vulnérabilité la plus commune que vous pouvez trouver dans les plugins de DokuWiki.+=== « Échapper » le contenu ===
  
-//Cross Site Scripting// est la méthode permettant l'​attaque de l'​utilisateur ou du visiteur sur le site, par le biais d'un code JavaScript destiné à corrompre le code source utilisé par le navigateur : ​cela permet une redirection des pages vers un autre site d'une maniètre transparente ou à voler les //cookies// d'​authentification+La base minimale de sécurité de votre plugin devrait être de s'​assurer que toute sortie de données brutes soit converties en [[https://fr.wikipedia.org/wiki/Entit%C3%A9_de_caract%C3%A8re|entités HTML]] par la fonction PHP [[phpfn>​htmlspecialchars]] DokuWiki fournit pour cela un raccourci pratique appelé [[xref> hsc ()]]
  
-DokuWiki'​s plugin mechanism gives plugin developers a great deal of flexibility. In the case of syntax plugins in particular, the framework gives plugins the ability to work with raw unprocessed output. This means the wiki page data which reaches your plugin has not been processed at all. And there will be no further processing on the output after it leaves your plugin.+Les valeurs URL doivent être échappés en utilisant [[php> rawurlencode]]
  
-===Escaping output=== +En outre toutes les données wiki extraites et utilisées en interne ​(//par exemple les noms d'​utilisateur//​), doivent être traitées avec suspicion / méfiance
-At an absolute minimum the plugin should ensure any raw data output has all HTML special characters converted to HTML entities using the [[phpfn>​htmlspecialchars]] function. DokuWiki provides a convenient shortcut called [[xref>​hsc()]] for the function. URLs values should be escaped using [[phpfn>​rawurlencode]].+
  
-Also any wiki data extracted and used internally (eg. user names) should be treated with suspicion.+=== Vérifier les données entrantes ===
  
-===Input checking=== +Vérifier **toujours** toutes les données entrantesPour cela utiliser les filtreslistes blanches ou la conversions ​exactes vers le type de données de la variablePar exemple : préférer un variable de type entier à une variable de type texte qui contient les caractères d'un type entier (plutôt 42 que '​42'​)Assurez-vous que vous avez **seulement** les données autorisée / nécessaires 
-Check always all your inputUse whitelists, filters, conversions ​to the exact data type you mean e.gfrom a number inputted as mixed php value to integer and more to ensure you have __only__ data you allowed.+
  
-==See also:==+== Voir également ​==
  
   * [[wp>​Cross-site scripting]]   * [[wp>​Cross-site scripting]]
   * [[http://​ha.ckers.org/​xss.html|XSS Cheat Sheet]]   * [[http://​ha.ckers.org/​xss.html|XSS Cheat Sheet]]
- 
 ==== Typical Vulnerability Examples ==== ==== Typical Vulnerability Examples ====
  
fr/devel/security.1457008732.txt.gz · Dernière modification: 2016-03-03 13:38 par julieng