Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

codeur:securite [2007/03/21 23:46]
developpeur
codeur:securite [2007/03/21 23:59] (Version actuelle)
developpeur
Ligne 1: Ligne 1:
 ====== La Sécurité ====== ====== La Sécurité ======
 Cette page recense les méthodes, fonctions et principes de la sécurité de NPDS. Cette page recense les méthodes, fonctions et principes de la sécurité de NPDS.
 +
 +===== Initalisez vos variables =====
 +Un principe simple est de toujours initialiser vos variables locales.
 +
 +   $tmp="";
 +   $tmp=false;
 +   $tmp=0;
 +
 +Ca ne prend que peut de temps et cela évite que ces variables contiennent autre choses que ce que vous avez voulu y mettre ...
  
 ===== Le bon type de variable ===== ===== Le bon type de variable =====
-Un principe simple est de toujours considérer que le type de variable provenant d'une URL, d'un formulaire, d'un cookie ou d'une session, ... n'est pas fiable.+Un autre principe simple est de toujours considérer que le type de variable provenant d'une URL, d'un formulaire, d'un cookie ou d'une session, ... n'est pas fiable.
  
 Une précaution élémentaire : l'utilisation de la fonction settype Une précaution élémentaire : l'utilisation de la fonction settype
  
-Par exemple : settype($tmp, "integer"); Si vous attendez un entier, cette fonction php va vous garantir que c'est bien un entier que vous obtiendrez. L'avantage : si il avait autre chose dans la variable $tmp settype tranforme le contenu ain de respecter le type.+Par exemple : settype($tmp, "integer"); Si vous attendez un entier, cette fonction php va vous garantir que c'est bien un entier que vous obtiendrez. L'avantage : si il avait autre chose dans la variable $tmp settype tranforme le contenu afin de respecter le type.
  
   $tmp="je suis un code malicieu";   $tmp="je suis un code malicieu";
Ligne 13: Ligne 22:
   echo $tmp;   echo $tmp;
  
-===== La fonction principale : RemoveHack =====+Abuser absolument de cette fonction ! 
 + 
 +===== Le bon type de variable II ===== 
 +Utiliser la fonction settype sur une chaine de caractère n'a pas vraiment de sens / Par contre PHP dispose de nombreuses fonctions permettant de faire le ménage (enfin au moins une partie) dans les variables 
 + 
 +   stripslashes( 
 +   htmlspecialchars( 
 +   urldecode( 
 + 
 + 
 +===== RemoveHack =====
 Removehack assure a elle seule une partie significative de la sécurité de NPDS. Removehack assure a elle seule une partie significative de la sécurité de NPDS.
  
 Son objectif est de filtrer la chaine de caractére que vous lui passer afin d'en modifier tout code malicieux (javascript notament) et donc de permettre à NPDS de supporter le HTML sans trop de risque Son objectif est de filtrer la chaine de caractére que vous lui passer afin d'en modifier tout code malicieux (javascript notament) et donc de permettre à NPDS de supporter le HTML sans trop de risque
  
-  Syntaxe : $tmp=removehack($chaine);+  Syntaxe  I : $tmp=removehack($chaine); 
 + 
 +  Syntaxe II : $query = removeHack(stripslashes(htmlspecialchars(urldecode($query),ENT_QUOTES)));
  
 RemoveHack doit être utilisée sur tous les champs de formulaire (au retour du Submit), sur toute les variables passées par les URL  RemoveHack doit être utilisée sur tous les champs de formulaire (au retour du Submit), sur toute les variables passées par les URL 

Index


Utilisateur

Vous n'ètes pas identifié. Vous pouvez vous inscrire ou vous connecter.



Page