• [^] # Re: PHP, ou comment condamner un bon projet à sa naissance

    Posté par . En réponse à la dépêche ownCloud 4 est sorti. Évalué à 5. Dernière modification le 24 mai 2012 à 17:42.

    Le protocole HTTP n'a pas de bugs en soit, probablement des failles je ne suis pas assez expert sur le sujet pour en discuter, cependant pour ce qui est de PHP, un certain nombre de récents patch on mis place des protections contre d'éventuelles DDoS liés à des envois excessifs de données pouvant amener à des écrasements de données.

    De mémoire, ce n'est pas le seul langage/application à mettre en place ces protections dans le même laps de temps. Faudrait que je retrouve des liens là dessus.

    Plusieurs choses:
    - Déjà, le lien fourni qui pointe vers un bug Ubuntu repose sur une version PHP patchée Suhosin, ce qui déjà en soit potentiellement induit des comportements différents de PHP vanilla;
    - De plus, il est lié à une fonctionnalité obsolète (magic_quote_gpc) que plus personne n'utilise. Dans les applications récentes les seules références qu'on puisse en voir sont souvent pour corriger des problèmes liés à un environnement où cette option obsolète serait par mégarde activée. Les applications PHP qui nécessitent cette option ont surement de beaucoup plus gros problèmes puisqu'apparemment elles n'ont pas évolué depuis 10 ans (contrairement au langage et à la VM);
    - En ce qui concerne les régressions qu'il indique, on peut quand même voir que l'espacement entre la release qui créé cette régression et celle qui la corrige est un peu plus de deux semaines, c'est certes beaucoup, mais aucune distribution considérée comme stable n'aura normalement mis à jour à ce rythme là.

    On pourrait en discuter pendant longtemps, et oui PHP à beaucoup de bugs, mais c'est pas le seul. J'ai bien l'impression que les gens ici s'acharnent sur un langage qu’apparemment ils ne connaissent pas ou peu. Sa couche objet était certes très pauvre jusqu'à peu, ils ont fait des choix étonnants en terme de syntaxe, mais je veux dire, d'autres l'ont fait aussi, certains langages sont encore whitespace based (WTF seriously).

    Attention, ne vous méprenez pas, j'ai beau le défendre, je donnerais beaucoup pour retourner faire du Java ou du C# de temps en temps; je ne suis ni un fanatique, ni un molusque mono-langage, cependant j'aimerais quand même que les gens soient un peu plus objectifs quand ils émettent ce genre de critiques.

    Pour travailler avec la stack L**P presque quotidiennement depuis quelques années, je sais ce très bien ce qu'il en est des bugs PHP, j'en rencontre moi même de temps en temps, mais dans l'absolu, à l'utilisation quotidienne, une bonne connaissance du langage et de ses capacités produisent du code qui n'est quasiment jamais impacté.

    Et puis, très honnêtement, avant de pouvoir exploiter une faille d'exécution de code arbitraire, faut déjà avoir la main sur la machine ou tomber sur une application qui ne filtre aucune entrée utilisateur, c'est pas trivial.