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 :

Fiabilité de $_SERVER['PATH_INFO']


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 62
    Points : 59
    Points
    59
    Par défaut Fiabilité de $_SERVER['PATH_INFO']
    Bonjour,

    Dans le cadre d'un petit "framework" MVC, est-il fiable de se fonder sur la valeur de $_SERVER['PATH_INFO'] pour déterminer controleur, action et éventuels paramètres ?

    Concrètement, via le .htaccess, tous les appels sont redirigés vers une page index.php, laquelle s'appuie sur l'analyse de $_SERVER['PATH_INFO'] pour faire un include du controleur ad'hoc et appeler la méthode (l'action) qui-va-bien avec les éventuels paramètres.

    Existe-t-il des situations où la valeur de PATH_INFO serait incorrecte ? Le navigateur peut-il "tricher" ? Auriez-vous un lien indiquant ce qui, dans les informations accessibles via $_SERVER, est tout à fait fiable, et ce qui pourrait ne pas l'être ?

    D'avance merci !

  2. #2
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Je n'utiliserai aucune variable SERVER pour déterminer des chemins. Pour se faire, il vaut mieux utiliser des chemins relatifs à partir de ton fichier index.php (qui sera ton controlleur frontal) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // DS alias de DIRECTORY_SEPARATOR (parce que c'est bien trop long à écrire)
    define('DS',DIRECTORY_SEPARATOR);
    //Chemin du dossier parent du WEBROOT)
    $path = dirname(__DIR__);
     
    define('WEBROOT',  __DIR__);
    define('PATH_CONTROLLER', $path . DS . 'controller');
    define('PATH_VIEW', $path . DS . 'view');
    define('PATH_MODEL', $path . DS . 'model');
     
    echo PATH_CONTROLLER;
    echo WEBROOT;
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 62
    Points : 59
    Points
    59
    Par défaut
    Peut-être me suis-je mal exprimé ?

    Concrètement, en localhost, pour un site dans un sous-dossier "test_mvc" : si le navigateur demande l'url suivante : http://localhost/test_mvc/home/bonjour/Monsieur/DUPONT
    alors la demande doit être satisfaite via le controleur "home", méthode bonjour() appelée avec les arguments ("Monsieur" ,"DUPONT")

    Pour ce faire, via .htaccess, je redirige tout sur index.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <IfModule mod_rewrite.c>
        ...
        RewriteRule ^(.*)$ index.php/$1 [L,QSA]
    </IfModule>
    Et (en simplifiant) dans index.php, j'analyse $_SERVER['PATH_INFO'] pour extraire controleur, méthode, arguments.

    $_SERVER['PATH_INFO'] semble fiable, je n'ai rien trouvé sur la toile qui aille contre son usage pour mon besoin, mais néanmoins par précaution je me tourne vers la communauté PHP de développez, d'où ma question quant à la fiabilité de $_SERVER['PATH_INFO']

    Et plus généralement des entrées de $_SERVER[], au cas où il me faille partir en quête d'une alternative à PATH_INFO.

    Bref, je reste preneur de toute information confirmant / infirmant la fiabilité de PHP_INFO. Mais je suis confiant

Discussions similaires

  1. Fiabilité et $_SERVER['REMOTE_ADDR']
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 04/03/2013, 19h55
  2. [PHP 5.3] Fiabilité de $_SERVER['PHP_SELF']
    Par RunCodePhp dans le forum Langage
    Réponses: 4
    Dernier message: 08/07/2010, 07h53
  3. fiabilité des offres d'emploi du forum dev.com
    Par djibril dans le forum Emploi
    Réponses: 1
    Dernier message: 09/07/2005, 08h00
  4. fiabilité IB 6 ?
    Par Pierre63 dans le forum Débuter
    Réponses: 7
    Dernier message: 20/03/2005, 10h27
  5. Quelle est la fiabilité du protocole SSL ?
    Par Anonymous dans le forum Développement
    Réponses: 5
    Dernier message: 05/09/2002, 13h31

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