• [^] # Re: Also also featuring...

    Posté par (site web personnel) . En réponse à la dépêche Sortie de PHP 5.2.10. Évalué à 2.



    The PHP safe mode is an attempt to solve the shared-server security problem. It is architecturally incorrect to try to solve this problem at the PHP level, but since the alternatives at the web server and OS levels aren't very realistic, many people, especially ISP's, use safe mode for now.



    Le manuel de php en ce qui concerne la partie administration est une vaste blague.

    php a été conçu pour faire fonctionner du code web directement. Sans l'intermédiaire d'une architecture n-tiers compliquée.

    Le principe est simple le serveur web -> l'interpréteur -> le code. On ne passe même pas par une lib (comme en perl use CGI)...

    Ce principe implique que l'interpréteur sert directement l'application. Donc si on ne met pas de sécurité dans l'interpréteur ? On la met où ?

    La philosophie unix veux que l'on sépare les choses très distinctement. L'état de l'art (les DESIGN PATTERN et tou l'toutim) expliquent à peu près la même chose.

    php prends le partie inverse. Ce n'est bien sûr pas obligatoire de l'utiliser comme ça. Mais c'est possible et même encouragé ( ne serais-ce qu'en mélangeant le html et le php dans le même fichier).


    PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML.

    Donc de deux choses l'une soit php nécessite une séparation claire de la logique applicative (écrire des fichiers, envoyer des mails ...), soit php fournie les moyens de sécuriser son interpréteur.

    quelqu'un qui ecrit :
    <? mail($_POST[to],$_POST[subject],$_POST[message],$_POST[headers]);
    ?>

    Dans un fichier et le laisse accessible depuis le web. Tu fait comment avec tes droits unix, ta mta et tes mises à jour de sécurité pour empêcher un spammeur de l'utiliser.

    Tu fait le goret... tu lis/filtre les mails sortants, tu compte les mails ...

    C'est pas un problème en l'air. C'est un exemple pratique et bien concret auquel le manuel php ne donne aucune réponse. Celui de java le fait, celui de RoR également.

    > It is architecturally incorrect
    php is architecturally incorrect c'est d'ailleurs pour ça qu'il est si facile à utiliser.