Différences
Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
codeur:module:securite [2008/06/09 22:57] hotfirenet |
codeur:module:securite [2008/06/09 23:32] (Version actuelle) hotfirenet |
||
---|---|---|---|
Ligne 38: | Ligne 38: | ||
- | ===== Sécurisation des INCLUDE ===== | ||
- | **Script lancé par modules.php (dans notre exemple : index.php )** | ||
- | Au début de chaque fichier PHP (après le cartouche de commentaires décrivant le module, licence, ...) il est nécessaire de rajouter : | ||
- | |||
- | <code php> | ||
- | // For More security | ||
- | if (!eregi("modules.php", $PHP_SELF)) { die(); } | ||
- | if (strstr($ModPath,"..") || strstr($ModStart,"..") || stristr($ModPath, "script") || stristr($ModPath, | ||
- | "cookie") || stristr($ModPath, "iframe") || stristr($ModPath, "applet") || stristr($ModPath, "object") || | ||
- | stristr($ModPath, "meta") || stristr($ModStart, "script") || stristr($ModStart, "cookie") || | ||
- | stristr($ModStart, "iframe") || stristr($ModStart, "applet") || stristr($ModStart, "object") || | ||
- | stristr($ModStart, "meta")) { | ||
- | die(); | ||
- | } | ||
- | // For More security | ||
- | // Retro compatibilité SABLE | ||
- | if (!function_exists("sql_connect")) { | ||
- | include ("modules/$ModPath/retro-compat/mysql.php"); | ||
- | } | ||
- | // Retro compatibilité SABLE | ||
- | |||
- | </code> | ||
- | ** | ||
- | Script lancé par admin.php (dans notre exemple : admin/adm.php )** | ||
- | |||
- | Au début de chaque fichier PHP (après le cartouche de commentaires décrivant le module, licence, ...) il est nécessaire de rajouter : | ||
- | |||
- | <code php>// For More security | ||
- | if (!eregi("admin.php", $PHP_SELF)) { die(); } | ||
- | if (strstr($ModPath,"..") || strstr($ModStart,"..") || stristr($ModPath, "script") || stristr($ModPath, | ||
- | "cookie") || stristr($ModPath, "iframe") || stristr($ModPath, "applet") || stristr($ModPath, "object") || | ||
- | stristr($ModPath, "meta") || stristr($ModStart, "script") || stristr($ModStart, "cookie") || | ||
- | stristr($ModStart, "iframe") || stristr($ModStart, "applet") || stristr($ModStart, "object") || | ||
- | stristr($ModStart, "meta")) { | ||
- | die(); | ||
- | } | ||
- | // For More security | ||
- | // Retro compatibilité SABLE | ||
- | if (!function_exists("sql_connect")) { | ||
- | include ("modules/$ModPath/retro-compat/mysql.php"); | ||
- | } | ||
- | // Retro compatibilité SABLE'' | ||
- | </code> | ||
- | |||
- | **Script servant à la réalisation d’un BLOC NPDS** | ||
- | |||
- | Au début de chaque fichier PHP (après le cartouche de commentaires décrivant le module, licence, ...) il est nécessaire de rajouter : | ||
- | |||
- | <code php> | ||
- | // For More security | ||
- | if (!function_exists("Mysql_Connection")) { | ||
- | die(); | ||
- | } | ||
- | // For More security | ||
- | // Retro compatibilité SABLE | ||
- | if (!function_exists("sql_connect")) { | ||
- | include ("modules/$ModPath/retro-compat/mysql.php"); | ||
- | } | ||
- | // Retro compatibilité SABLE | ||
- | </code> | ||
- | |||
- | :!:Plus généralement tous fichier PHP contenu dans un module (à l’exclusion d’un fichier de paramétrage,d’installation) contenant l’utilisation de | ||
- | variables global de NPDS (par exemple $ModStart, $ModPath, $language, …) doit être sécurisé ! |