PHP et le Web

Dans le billet PHP VS Python j’avais parlé des problèmes de Python à s’imposer sur le Web mais également des avantages de PHP. Mais depuis mon opinion a évolué..

Premièrement j’ai du me remettre temporairement au développement PHP et à ses affres. Tout d’abord ce langage n’est pas aussi simple et homogène que ça. Les déploiements de PHP diffèrent d’un hébergeur à l’autre. Chacun installe sa version de PHP qu’il a souvent compilé par ses soins pour supprimer telle ou telle fonctionnalité.

En activant le safe_mode certains hébergeurs s’imaginent avoir régler le problème de la sécurité. C’est une grave erreur car en plus de créer des problèmes pour le développeur de script qui devra supporter une version bridée, les problèmes de sécurité chez les hébergeurs subsistent bien après que la faille ait été repéré. Pour preuve le très sérieux free.fr a connu 2 failles majeures dont une qui a pris plusieurs jours à être corrigé après avoir été repéré.

Une faille dans PHP a défrayée les chronique en 2005 et a touché la plupart des hébergeurs mondiaux. Cette faille due au module glob montre bien que devant la richesse de la bibliothèque de modules en PHP qui se basent sur des bibliothèques externes les failles potentielles peuvent être légions et les repérer est une tache bien hardue. Il existe même un ensemble patch du nom de Hardened PHP en vue de rendre plus sécurisé PHP ce qui constitue une forme d’aveu…

Puis mis à part la sécurité intrinsèque de PHP vient le plus grave qui est la sécurité des applications des scripts PHP. Elle est quasiment inexistante dans la plupart des cas malgré l’abondante littérature sur le sujet. Quoiqu’en dise les scripteurs PHP utiliser des composants ou un framework est un gage de sécurité et de tranquillité. Et je fais la prédiction optimiste que bientôt cette pensée s’étendra et que beaucoup de scripteurs PHP deviendront des développeurs et utiliseront des frameworks ou des megaframeworks (i.e. composés de briques disparates formant un tout). Mais un long travail d’éducation est nécessaire.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *