Bootstrap php et chargement de code à la demande

Le bootstrap reconnait deux options en ligne bootstrap_load et bootstrap_lib. CF sybale – avancement du 02/03/2013.

Ces options ont pour but de permettre de choisir spécifiquement une version de sylabe et une version spécifique de la librairie php. Ce sera utile lors de problèmes de cohérences entre les versions de sylabe et de la librairie. Une incohérence peut conduire dans le cas d’une fonction absente à une erreur php, et donc à un affichage vide. Dans ce cas, forcer les versions permet de revenir à une situation stable et de corriger tranquillement le problème.

Mais ce mécanisme entraine un problème de sécurité. Il est possible de forcer ces options à la main et donc de choisir volontairement des versions de code anciennes, défectueuses ou mal protégées. Ce problème ne peut être résolu directement dans sylabe puisque les choix de codes se font dans le bootstrap. Il faut donc trouver et implémenter un mécanisme pour soit restreindre soit désactiver ces deux options directement dans le bootstrap. Il sera toujours temps de les réactiver le temps de résoudre un problème.

  • Une des solution serait de vérifier site web de provenance et de rejeter les options si ce n’est pas en accord avec l’URL courante. Mais cette valeur peut elle aussi être forgée.
  • Une autre solution peut être de tenir compte des listes de bannisement pour éviter certains codes anciens. Mais cette liste ne va pas protéger des codes malveillants insérés sur le serveur.
  • Enfin, on peut prévoir un fichier d’environnement pour le bootstrap, ou plus simplement la prise en compte des options si un certain fichier est présent.

La suite au prochain épisode…

Laisser un commentaire