PHP 6



  • En effet, en dehors des chaînes de caractères Unicode, il ne semble pas y avoir beaucoup d'évolutions. Que nenni ! PHP 6 n'apporte certes pas beaucoup de fonctionnalités, mais par contre va modifier certains comportements qui feront de cette version, une bombe atomique !

    Par bombe atomique, je n'entend pas parler d'un super-truc-génial qui va révolutionner le monde, mais bien d'un changement de comportement qui sera générateur de beaucoup de problème et ouvrira les portes de l'anarchie numérique pour le bon plaisir des pirates.

    Effectivement, PHP 6 va supprimer purement et simplement les magic_quotes, qui, je vous le rappelle, sont désactivées par défaut dans les versions 5, mais que tout le monde s'empresse de réactiver par souci de compatibilité et de sécurité.

    Actuellement, peu de personnes ne se soucie des problèmes d'injection SQL car sans le savoir (ou pire, par fainéantise) les magic_quotes les en protège en partie. Je n'ai pas fait d'enquête, mais j'estime que 80% des développeurs PHP ne font pas attention aux problèmes d'injection SQL. Cela veut donc dire que sans une meilleure communication, les personnes qui vont passer au PHP6 vont ouvrir des failles de sécurité larges comme des A380.

    PHP 6 devrait-il donc s'accompagner d'un permis de développer obtenu après un contrôle des connaissances dans le domaine de la sécurité ? Non, je pense tout simplement que PHP 6 mettra un temps infiniment long à s'imposer (jamais ?) car les hébergeurs ne voudront pas prendre le risque de le déployer.

    Comme vous pouvez le constater, cet article n'est pas un tutorial, mais sert de point d'introduction à une série d'articles dont l'objectif sera de vous expliquer les différents problèmes de sécurité des applications PHP et comment se préparer au passage vers PHP 6.

    Vous en pensez quoi ? Effectivement avec la suppression des magic quote les hébergeurs sont pas prèts de mettre à jour leur version de PHP … Par contre le support de l'unicode est une bonne nouvelle, il était temps !

    A votre place, je ne mettrais pas PHP à jour, même si la nouvelle version n'est pas encore sortie !


  • Administrateur

    Ce n'était pas prévut de toute manière :)

    En ce qui concerne les mises à jours software, on attend minimum 1 ans pour faire une mise à jour.




  • je ne vois pas trop où se situe le problème.
    Les Magic Quotes ne servent de toute façon à rien. Pour échapper un caractère en SQL, il faut l'échapper pars un autre apostrophe. Il faut donc activer une autre caractéristique de php (magic_quotes_sybase, je crois, qui disparaitra donc aussi).
    Les échappements HTML se font avec les entitées HTML. Va essayer de mettre un code en échappant les apostrophes avec des anti-slashes...les pirates vont bien se marrer ;)
    PHP6 demandera plus de rigueur lors des développements, c'est tout.

    Pour les autres changements de PHP6, vous pouvez lire http://blog.plopix.net/index.php?/blog/ … nouveautes


  • Administrateur

    Voici mon avis point par point sur les améliorations de cette version :

    - Amélioration sur l'unicode natif
    => Complètement innutile. Si le développeur ne sais pas faire la différence entre de encoding, et bien ça ne sert à rien d'utiliser des chaines de caractères.

    - Register Globals, Magic Quotes et Safe Mode supprimés
    => Ca c'est une horreur pour les hébergeurs. En effet, imaginez que sur nos services, la majorité des developpeurs sont novices. Si on supprime les register globals, ou même les magic quotes, les jeunes développeurs qui ont commencés sous php4 avec ces fonctions à ON ne sauront plus ou donner de la tête.

    Quand au safe Mode, il est encore activé chez certains hébergeurs, apparament, ceux ci sont voués à disparaitre !

    - Nouvelles extensions PECL
    Complètement innutile par le fait qu'a peine 5 % des développeurs php utilisent les fonctions implémentés dans Pear.
    Si à l'avenir on nous oblige à programmer avec ça, j'ai bien peur que la migration de php6 à php7 soit une catastrophe.

    - Nouvelles fonctions
    Les deux seules fonctions intelligentes, ce sont le ifsetor qui peux être utile et le Go to qui est une excellente idée (se rapproche de l'assembleur utilisé sous Flash Macromedia)

    - Fonctions Objets
    A peine 10 % des développeurs les utilisent. Les améliorations leurs seront probablement utiles.

    Voilà ce que j'en pense sincèrement. Après il n'est pas exclu que nous puissions utiliser un serveur rien que pour php6. Mais à mon avis, sérieusement, il ne sert vraiment à rien.



  • @caaptusss:

    - Amélioration sur l'unicode natif
    => Complètement innutile. Si le développeur ne sais pas faire la différence entre de encoding, et bien ça ne sert à rien d'utiliser des chaines de caractères.

    Ils ont rajoutés cette option pour étendre le "marché" du PHP (notamment en asie). Et l'option pourra être désactivée pour ne pas augmenter inutilement la vitesse d'exécution. Donc bon, même si on ne s'en servira probablement pas, c'est toujours une amélioration.

    @caaptusss:

    - Register Globals, Magic Quotes et Safe Mode supprimés
    => Ca c'est une horreur pour les hébergeurs. En effet, imaginez que sur nos services, la majorité des developpeurs sont novices. Si on supprime les register globals, ou même les magic quotes, les jeunes développeurs qui ont commencés sous php4 avec ces fonctions à ON ne sauront plus ou donner de la tête.

    Justement. Il faudra refaire les scripts en tenant compte de tous les paramètres, ce qui permettra de rendre les scripts plus uniformes (ce qui n'est pas vraiment le cas aujourd'hui…).

    @caaptusss:

    - Nouvelles fonctions
    Les deux seules fonctions intelligentes, ce sont le ifsetor qui peux être utile et le Go to qui est une excellente idée (se rapproche de l'assembleur utilisé sous Flash Macromedia)

    D'accord sur ces deux points. Reste cependant à voir si ifsetor() est plus rapide que if/else.

    En gros, c'est mitigé. Mais je pense que l'évolution est intéressante. PHP s'oriente plus vers le technique auparavant (ce qui est bien, pour moi). :)


  • Administrateur

    Ouaip, faudra voir ce que ça donne à l'avenir :)



  • Actuellement, peu de personnes ne se soucie des problèmes d'injection SQL car sans le savoir (ou pire, par fainéantise) les magic_quotes les en protège en partie. Je n'ai pas fait d'enquête, mais j'estime que 80% des développeurs PHP ne font pas attention aux problèmes d'injection SQL. Cela veut donc dire que sans une meilleure communication, les personnes qui vont passer au PHP6 vont ouvrir des failles de sécurité larges comme des A380.

    Heu… 80% des développeurs ne protège pas leur page ? Avant de s'avancer il faut faire des stats, car je ne pense pas que ce soit le cas, ou alors on est au paradis des hacker !

    La seul façon de se protéger du SQL injection c'est la fonctions mysql_real_escape_string(). C'est la seul bonne méthode, et les magics quotes n'ont fait que me gâcher la vie et je serais heureux quel disparaisse !



  • @phenix:

    les magics quotes n'ont fait que me gâcher la vie et je serais heureux quel disparaisse !

    amen


Log in to reply