Ceci est une ancienne révision du document !


Cette page est une ébauche, ce qui signifie qu'elle n'est pas terminée et/ou que vous pouvez l'améliorer en partageant vos connaissances

Sécurité

La sécurité dans les modules est primordiale ! A quoi sert de sécuriser le noyau npds si les modules sont de vrai passoire….

Veuillez lire La Sécurité auparavant

Considération de Sécurisation

(et retro compatibilité) d’un module pour NPDS

Si l’on prend l’architecture d’un module (dans cette note nous utiliserons module_1) : /modules

  module_1
  index.php
  bloc.php
  /admin
      adm.php
  /retro-compat

Ce module contient :

  • des scripts PHP à sa racine
  • un fichier permettant la réalisation d’un bloc NPDS
  • des include
  • une administration via l’admin-plugins de NPDS

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 :

// 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
 
 

Index


Utilisateur

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



Page