Feature #9990
ferméRefactoriser MyDB pour le passer dans Silverpeas 6
100%
Description
MyDB est une application à la MS-Access et donc issue d'un autre temps dans lequel les considérations de sécurité laissaient le pas aux fonctionnalités et les attaques sur le Web étaient marginaux.
Le contexte actuel a changé et les contraintes de sécurité sont devenues cruciales pour les applications Web.
Or, MyDB, par sa nature, est une porte grande ouverte dans les remparts de la sécurité : parce qu'un utilisateur peut exécuter n'importe quelle requête de création, de suppression et de mise à jour d'une base de données, parce que les références à la base de données sont données en claires, il est possible alors à un attaquant, par des attaques d'SQL Injection, entre autre, de contourner toute sécurité et non seulement d'attaquer le système de base de données, mais aussi le serveur sur lequel tourne ce système de base de données. C'est la raison pour laquelle MyDB a été retiré de Silverpeas 6.
- les accès à la base de donnée cible de MyDB se fera par les fichiers de propriétés et donc à l'installation/configuration de l'application.
- la structure (le schéma) de la base de données cible devra être créée en dehors de Silverpeas.
- MyDB offrira le moyen non seulement de pouvoir requêter la base de donnée (comme avec JDBC Connector) mais aussi de modifier les données (et uniquement les données) dans cette base (insertion, mise-à-jour et suppression).
Quoiqu'il en soit, aucune commande SQL ne doit passer par l'interface Web ; autrement dit il ne devra pas être possible d'écrire des requêtes SQL, même limitées. Derrière, le moteur de MyDB ne devra permettre que du requêtage simple ; autrement dit pas d'instructions imbriquées possibles.
Fichiers