jeudi, 24 février 2011 08:08

Sécurité de AllEvents

Écrit par 
Évaluer cet élément
(1 Vote)

Sécurité de AllEventsEn informatique, la protection absolue n'existe pas toutefois AllEvents tente d'assurer une protection maximale de votre site. 

La sécurité mise en place se fait à plusieurs niveaux :

  1. Absolument toutes les actions exécutées par AllEvents ne peuvent se faire que si la demande d'exécution est issue de votre site Web.   Cette protection se fait grâce au mécanisme de token de Joomla.  
  2. Les noms des paramètres du querystring ont été volontairement rendus moins explicites.  Par exemple, le filtre sur le champs Public cible aurait pû se nommer &public mais j'ai opté pour &d.  L'idée étant de rendre beaucoup plus difficile pour un pirate de deviner le nom des variables.
  3. La lecture des variables se fait au travers d'une instruction JRequest::getxxxx où xxxx correspond au type de données devant être lues.   Ainsi, les variables de type booléennes sont retrouvées par un JRequest::getBool.
  4. Les valeurs lues doivent aussi respecter certaines contraintes.  Un exemple : le paramètre qui reprend un nom de fichier ne peut pas excéder 60 caractères.
  5. Une fois les paramètres lus, les valeurs sont contrôllées et les valeurs lues doivent être acceptables.  Ainsi, p.e., le paramètre imaginaire &joomla est de type string et ne peut contenir que "cool", "fabuleux" ou "merveilleux".   Si &joomla contient une autre valeur, celle-ci est ignorée.
  6. AllEvents est programmé avec un error_reporting=E_ALL c'est- à-dire que strictement toutes les erreurs et les warnings issus de PHP sont affichés.   A l'exécution, AllEvents ne génère strictement aucune erreur sur des sites où error_reporting est à sa valeur maximale.
  7. AllEvents déclare toutes les variables avant leur utilisation et les assignes à une valeur par défaut.  Ainsi, p.e., une variable $canSee ("est-ce que l'utilsateur peut voir...") est déclarée et initialisée à Non.  Ensuite, après différents contrôles, $canSee est mis à Oui si l'utilisateur dispose d'un niveau d'accès suffisant.

Ces sécurités sont mises en place dans une surcharge du controlleur de Joomla et dans une classe dédicacée permettant la lecture des paramètres.

Informations supplémentaires

  • Package Free: Ce billet concerne le package Free et est donc immédiatement disponible dans la version gratuitement téléchargeable de AllEvents.
Lu 1342 fois Dernière modification le dimanche, 04 mars 2012 23:31
Christophe

Christophe -Développeur de :

  • aeSecure; logiciel de protection de sites web Apache (Joomla, WP, Drupal, ...) http://aesecure.com
  • AllEvents; gestionnaire d'évènements pour Joomla

 

Site internet : allevents.avonture.be
Connectez-vous pour commenter. Attention, merci de ne pas poster des questions : veuillez utiliser le forum pour cela svp.