IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Sécurité] Inclure tous les scripts depuis index.php = bien ou pas ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 223
    Par défaut [Sécurité] Inclure tous les scripts depuis index.php = bien ou pas ?
    Pour les 3 sites dynamiques en PHP que j'ai déjà réalisé, j'ai toujours eu un seul point d'entrée depuis l'extérieur, le fichier index.php. Je me chargeais ensuite d'inclure les fichiers nécessaires selon les paramètres passé par l'URL.

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    www.monsite.com/?page=contact
    plutôt que
    www.monsite.com/contact.php
    En général je place mes "sous pages" du style contact.php dans un répertoire protégé par un .htaccess de façon à ce qu'elles ne soient pas accessibles hors du index.php. J'ai toujours trouvé cette technique pratique, le point d'entrée unique me permet de faire à un seul endroit toutes les vérifications (sécurité) et toutes les inclusions nécessaires.

    Mais voilà, je suis en train de refaire de A à Z l'un de mes sites et je me pose des tas de questions philosophiques. Je remarque surtout qu'aucune application PHP open sources que je consulte ne fonctionne de cette façon.

    Il y a peut être des raisons, vous avez des idées ?
    référencement ? optimisation ? ... etc

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 69
    Par défaut
    à ce compte là, tu peux utiliser de l'url rewriting pour renvoyer toutes tes pages vers index.php et traiter la demande dans cette page là.


    exemple dans apache :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    # on démarre l'url rewriting
    RewriteEngine on
    # on renvoi tout sauf javascript, images, flash, etc vers index.php
    RewriteRule !\.(js|gif|jpg|png|css|swf)$ index.php [L]

    ps : tu peux recuperer l'adresse demandé avec :
    - $_SERVER['REDIRECT_URL']
    - $_SERVER['REQUEST_URI']


    à toi de faire les tests nécessaires...

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 223
    Par défaut
    Merci pour la réponse parksto, mais en fait si je parlais de référencement c'était uniquement une hypothèse de ma part concernant le fait que pratiquement aucune applications PHP connue n'a un point d'entré unique. Avec l'url rewriting je sais que je n'ai pas de soucis à me faire pour le référencement.

    Donc je me pose encore la question. Un point d'entrée unique m'oblige à faire des "include" conditionnels (inclure telle ou telle page selon les paramètres transmis). Est ce que cela ne perturberait pas la précompilation et la mise en cache par le serveur PHP, générant une surconsommation de ressources ?

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Tout dépend de ce que tu inclues et de combien de ressources tu disposes...

    Généralement, il en faut quand meme pour perturber le traitement d'une page a cause des "include".

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 69
    Par défaut
    je n'ai pas beaucoup d'exemple sous la main (je n'utilise quasiment jamais les applications PHP connues, j'ai pour habitude de tout faire moi même), mais je sais que sfm à un point d'entrée unique.

    tous mes sites, et applications php ont un point d'entré unique avec pas mal de fichiers inclus (des classes) dans le contrôleur principal, et les temps de génération n'ont rien à envier aux "grosse" applications.


    mes fichiers index.php ressemblent à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    require_once 'include/OF/OliControleur.php';
    OliControleur::setLibDir(dirname(__FILE__).'/../lib/');
    OliControleur::run('MonApplication');

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 223
    Par défaut
    Merci pour vos avis, je vais donc continuer à fonctionner avec mon index.php comme point d'entrée unique.

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/06/2008, 14h57
  2. Inclure tous les fichiers à la compilation
    Par nicolasss dans le forum Maven
    Réponses: 3
    Dernier message: 16/05/2008, 22h33
  3. Générer tous les scripts de création de tables
    Par farenheiit dans le forum Administration
    Réponses: 5
    Dernier message: 03/08/2007, 11h05
  4. coché tous les checkbox généré par php
    Par Henry9 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/07/2007, 13h13
  5. [Forum] Des erreurs avec tous les scripts PHP
    Par sensoo dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 25/04/2006, 18h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo