Projet

Général

Profil

Actions

Feature #9990

fermé

Refactoriser MyDB pour le passer dans Silverpeas 6

Ajouté par Miguel Moquillon il y a plus de 5 ans. Mis à jour il y a plus de 5 ans.

Statut:
Closed
Priorité:
Normal
Assigné à:
Début:
17/08/2018
Echéance:
% réalisé:

100%

Temps estimé:
Livraison en TEST:
Livraison en PROD:

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.

Or, des utilisateurs de Silverpeas utilisent MyDB et cette application leur est importante. Aussi, l'idée de cette feature est de remanier et toiletter MyDB afin de pouvoir satisfaire, dans la mesure du possible, les attentes fonctionnelles des utilisateurs de MyDB et les contraintes de sécurité actuelles. Pour ce faire, l'approche suivante sera adoptée :
  • 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

mydb-datasource_setting.png (40,1 ko) mydb-datasource_setting.png Sélection de la base de données Miguel Moquillon, 17/09/2018 17:12
mydb-tableNoSelected-admin.png (17,7 ko) mydb-tableNoSelected-admin.png Miguel Moquillon, 17/09/2018 17:13
mydb-tableNoSelected-publisher.png (14,4 ko) mydb-tableNoSelected-publisher.png Miguel Moquillon, 17/09/2018 17:14
mydb-tableNoSelected-reader.png (9,24 ko) mydb-tableNoSelected-reader.png Miguel Moquillon, 17/09/2018 17:15
mydb-tableSelected-publisher.png (108 ko) mydb-tableSelected-publisher.png Miguel Moquillon, 17/09/2018 17:18
mydb-tableFiltered.png (31,1 ko) mydb-tableFiltered.png Miguel Moquillon, 17/09/2018 17:19
mydb-tableRowDeletion.png (115 ko) mydb-tableRowDeletion.png Miguel Moquillon, 17/09/2018 17:20
mydb-tableRowUpdate.png (144 ko) mydb-tableRowUpdate.png Miguel Moquillon, 17/09/2018 17:20
mydb-tableRowAdding.png (136 ko) mydb-tableRowAdding.png Miguel Moquillon, 17/09/2018 17:21
mydb-tableSelected-reader.png (96,5 ko) mydb-tableSelected-reader.png Miguel Moquillon, 17/09/2018 17:25
mydb-rowEditionWithFK.png (46,1 ko) mydb-rowEditionWithFK.png Miguel Moquillon, 24/09/2018 15:39
mydb-rowEdition-FkView.png (45,9 ko) mydb-rowEdition-FkView.png Miguel Moquillon, 24/09/2018 15:41
Actions

Formats disponibles : Atom PDF