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 :

[Système] Lancer un script PHP depuis un autre script PHP


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 9
    Par défaut [Système] Lancer un script PHP depuis un autre script PHP
    Bonjour,

    J'essaie de faire une page "index.php" qui lance d'autres scripts php en fonction de paramètres saisis par les utilisateurs.
    Exemple: si user1 s'authentifie sur "index.php", alors "index.php" exécute (ou redirige vers..) "user1.php", si c'est user2, ... => user2.php etc..

    Je ne trouve pas la commande qui me permettrait de le faire.
    si j'utilise "include", ça fusionne index.php avec le script qu'il appelle.
    avec "exec", ça m'a l'air lourd. avec "header", ça pose des soucis de buffers. Bref, je suis sûr qu'il y a un truc fait pour me dépanner mais je ne le trouve pas.

    Si qqn a une idée je lsuis preneur. Merci!

  2. #2
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Bonjour,

    Le truc à la mode en ce moment, c'est que index.php soit effectivement paramétrée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    $param = $_GET['param'];
    // en tete
     
    if (preg_match("/user/", $param) require_once $param.".php";
    else require_once "accueil.php";
     
    ?>
    index.php n'est alors qu'un conteneur qui sera alimenté en fonction du paramètre passé.

    Le tout avec un système de template bien basique et c'est du velours.

  3. #3
    Membre chevronné
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Par défaut
    Absolument pas sécurisé comme méthode jml94, il faut vérifier ce qu'on inclu, surtout lorsque le paramètre vient de l'URL.
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

  4. #4
    Membre émérite Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Par défaut
    Comme dit genova, ce n'est pas très sécurisé comme méthode mais maintenant tu peux essayer d'utiliser http_redirect()

    plus d'infos ici :
    http://www.php.net/manual/fr/function.http-redirect.php

    @+
    cadou

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Par défaut
    j'ai un truc très bête et qui ne pose pas de problème de sécurité:

    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <iframe src="<?php echo htmlspecialchars($_GET['script']) ?>"></iframe>
    C'est très bête, mais je pense que ça ce rapproche de ce que tu cherches à faire, pouvoir lancé un script à partir d'une autre page (tout en pouvant y mettre des paramètres)...

  6. #6
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Je ne vois pas trop le trou de sécurité.
    Effectivement, nous pouvons accéder directement à la page en ajoutant le paramètre à la fin de l'url.
    Mais en quoi cela est-il une faille de sécurité ?

    Evidemment, les user1.php, user2.php, etc... n'étaient pour moi que des pages classiques qui n'avaient aucun lien avec une quelconque technique d'identification.

    Parce que s'il s'agit d'un trou de sécurité, la page dans laquelle j'inscris ce message est aussi fausse, vue l'URL...

    Ou un autre exemple : http://www.fire-soft-board.com/index.php?p=index

  7. #7
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Citation Envoyé par cadoudal56
    Comme dit genova, ce n'est pas très sécurisé comme méthode mais maintenant tu peux essayer d'utiliser http_redirect()

    plus d'infos ici :
    http://www.php.net/manual/fr/function.http-redirect.php

    @+
    cadou
    User et abuser de la redirection est aussi très à la mode.
    Mais que penser d'un site qui utilise la redirection dès sa page d'index, à part que le dev n'a pas voulu se prendre la tête avec un vrai plan de site ?
    Cette utilisation de la redirection est équivalente à un GOTO dans la programmation, autant dire un truc qu'il faut utiliser avec la plus grande parcimonie si tu veux maitriser un tant soit peu ton code.

  8. #8
    Membre chevronné
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Par défaut
    C'est la faille de sécurité include(), faille de base. Bien sur elle n'est pas exploitable tout le temps, mais ca reste quand même un trou de sécurité de ne pas vérifier ce qu'on passe en paramètre dans l'URL.

    Immagine tu passes en paramètre ?param=../config/fichier_important. peut être que dans son cas ca ne sera pas exploitable, mais combien de sites débutants en pseudo frame se sont fait casser a cause de ça ? Des tas.
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

  9. #9
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Oula, je vais me flageller et courir trois tout nu autour des bureaux de ma boîte !
    Je suis un vilain et un agressif.
    Et surtout, je ne lis pas bien mes énoncés, mon prof de maths va se retourner dans sa tombe.
    J'avais raté le bout de phrase qui tue :
    J'essaie de faire une page "index.php" qui lance d'autres scripts php en fonction de paramètres saisis par les utilisateurs.
    Autant pour moi, mes remarques ne sont absolument plus valables dans ce contexte.
    Je me disais aussi qu'être en contradiction avec des personnes qui sont aussi expérimentées étaient étrange.

    Toutes mes excuses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 24/09/2014, 10h00
  2. appeler un script sql depuis un autre script sql
    Par scilab dans le forum Débuter
    Réponses: 1
    Dernier message: 23/02/2011, 21h53
  3. lancement script perl depuis un autre script perl
    Par danathane dans le forum Langage
    Réponses: 4
    Dernier message: 19/01/2010, 13h54
  4. Réponses: 5
    Dernier message: 25/03/2009, 10h49
  5. Réponses: 18
    Dernier message: 22/02/2006, 14h53

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