Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
codeur:securite [Mar. 21, 2007 10:45 PM UTC ] – developpeur | codeur:securite [Dec. 12, 2024 11:11 AM UTC ] (Version actuelle) – [Le bon type de variable] jpb | ||
---|---|---|---|
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. | ||
+ | <code php> | ||
+ | $tmp = ''; | ||
+ | $tmp = false; | ||
+ | $tmp = 0; | ||
+ | $tmp = array() | ||
+ | </ | ||
+ | Ca ne prend que peu 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' | + | Une précaution élémentaire : l' |
- | Par exemple : settype($tmp, | + | Par exemple : |
- | + | <code php> | |
- | '' | + | |
- | $tmp=" | + | |
settype($tmp, | settype($tmp, | ||
- | echo $tmp; | + | </ |
- | '' | + | Si vous attendez un entier, cette fonction php va vous garantir que c'est bien un entier que vous obtiendrez. L' |
- | + | <code php> | |
- | ===== La fonction principale : RemoveHack ===== | + | $tmp = 'je suis un code malicieux' |
- | Removehack assure a elle seule une partie significative | + | |
+ | echo $tmp; | ||
+ | </ | ||
+ | **Abuser absolument | ||
- | Son objectif est de filtrer | + | ===== Le bon type de variable II ===== |
+ | Utiliser | ||
+ | <code php> | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
- | Syntaxe : $tmp=removehack($chaine); | + | ===== RemoveHack ===== |
+ | La fonction | ||
- | RemoveHack doit être utilisée sur tous les champs | + | Son objectif est de filtrer la chaîne de caractères que vous lui passez afin d'en modifier tout code malicieux |
+ | **Syntaxe | ||
+ | <code php> | ||
+ | **Syntaxe II :** | ||
+ | <code php> $query = removeHack(stripslashes(htmlspecialchars(urldecode($query), | ||
+ | La fonction removehack() doit être utilisée sur tous les champs de formulaire (au retour du Submit), sur toute les variables passées par les URL. |