{"id":1451,"date":"2014-03-03T00:26:03","date_gmt":"2014-03-02T22:26:03","guid":{"rendered":"http:\/\/blog.nebule.org\/?p=1451"},"modified":"2016-03-29T19:01:52","modified_gmt":"2016-03-29T17:01:52","slug":"bootstrap-php-et-chargement-de-code-a-la-demande","status":"publish","type":"post","link":"http:\/\/blog.nebule.org\/?p=1451","title":{"rendered":"Bootstrap php et chargement de code \u00e0 la demande"},"content":{"rendered":"<p style=\"text-align: justify;\">Le <em>bootstrap<\/em> reconnait deux options en ligne <code>bootstrap_load<\/code> et <code>bootstrap_lib<\/code>. CF <a title=\"sylabe - avancement\" href=\"http:\/\/blog.sylabe.org\/?p=429\" target=\"_blank\">sybale &#8211; avancement<\/a> du 02\/03\/2013.<\/p>\n<p style=\"text-align: justify;\">Ces options ont pour but de permettre de choisir sp\u00e9cifiquement une version de <em>sylabe<\/em> et une version sp\u00e9cifique de la librairie <em>php<\/em>. Ce sera utile lors de probl\u00e8mes de coh\u00e9rences entre les versions de <em>sylabe<\/em> et de la librairie. Une incoh\u00e9rence peut conduire dans le cas d&rsquo;une fonction absente \u00e0 une erreur <em>php<\/em>, et donc \u00e0 un affichage vide. Dans ce cas, forcer les versions permet de revenir \u00e0 une situation stable et de corriger tranquillement le probl\u00e8me.<\/p>\n<p style=\"text-align: justify;\">Mais ce m\u00e9canisme entraine un probl\u00e8me de s\u00e9curit\u00e9. Il est possible de forcer ces options \u00e0 la main et donc de choisir volontairement des versions de code anciennes, d\u00e9fectueuses ou mal prot\u00e9g\u00e9es. Ce probl\u00e8me ne peut \u00eatre r\u00e9solu directement dans <em>sylabe<\/em> puisque les choix de codes se font dans le <em>bootstrap<\/em>. Il faut donc trouver et impl\u00e9menter un m\u00e9canisme pour soit restreindre soit d\u00e9sactiver ces deux options directement dans le <em>bootstrap<\/em>. Il sera toujours temps de les r\u00e9activer le temps de r\u00e9soudre un probl\u00e8me.<\/p>\n<ul>\n<li>Une des solution serait de v\u00e9rifier site web de provenance et de rejeter les options si ce n&rsquo;est pas en accord avec l&rsquo;URL courante. Mais cette valeur peut elle aussi \u00eatre forg\u00e9e.<\/li>\n<li>Une autre solution peut \u00eatre de tenir compte des listes de bannisement pour \u00e9viter certains codes anciens. Mais cette liste ne va pas prot\u00e9ger des codes malveillants ins\u00e9r\u00e9s sur le serveur.<\/li>\n<li>Enfin, on peut pr\u00e9voir un fichier d&rsquo;environnement pour le <em>bootstrap<\/em>, ou plus simplement la prise en compte des options si un certain fichier est pr\u00e9sent.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">La suite au prochain \u00e9pisode&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le bootstrap reconnait deux options en ligne bootstrap_load et bootstrap_lib. CF sybale &#8211; avancement du 02\/03\/2013. Ces options ont pour but de permettre de choisir sp\u00e9cifiquement une version de sylabe et une version sp\u00e9cifique de la librairie php. Ce sera utile lors de probl\u00e8mes de coh\u00e9rences entre les versions de sylabe et de la librairie. &hellip; <a href=\"http:\/\/blog.nebule.org\/?p=1451\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Bootstrap php et chargement de code \u00e0 la demande<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[67,7,13,20,39],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/1451"}],"collection":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1451"}],"version-history":[{"count":1,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/1451\/revisions"}],"predecessor-version":[{"id":2217,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/1451\/revisions\/2217"}],"wp:attachment":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1451"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}