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

  1. #1
    Futur Membre du Club
    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
    Points : 9
    Points
    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 : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    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.
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  3. #3
    Membre éclairé
    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
    Points : 790
    Points
    790
    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 éclairé Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

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

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Points : 779
    Points
    779
    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
    LMN24 - Site d'actualité internationale multilingue
    http://www.lmn24.com

  5. #5
    Membre averti
    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
    Points : 303
    Points
    303
    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 : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    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
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  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 : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    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.
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  8. #8
    Membre éclairé
    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
    Points : 790
    Points
    790
    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 : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    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.
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  10. #10
    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 : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Et j'ajouterais pour revenir dans le sujet (et essayer de me rattraper) que la grande mode est aux sessions pour ce genre de problèmes.
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  11. #11
    Membre averti
    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
    Points : 303
    Points
    303
    Par défaut
    Trop tard jml94
    Pour la faille include, le vraie problème est de pouvoir inclure n'importe quoi (si y'a pas de contrôle)
    des fichiers sur le serveur (/etc/passwd) ou encore des fichiers sur d'autre serveurs (http://www.pirate.com/script_douteux.txt?)
    Si tu veux voire les dégats que case les failles includes:
    http://www.milw0rm.com/ <= les failles dans les gros scripts
    http://www.zataz.com/defaced/ <= les sites victimes de tel failles

    Sinon, on fait tous des erreurs, (et personnellement, des erreurs de lectures, j'en fait tout le temps)

    Sinon sibawe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <iframe src="<?php echo htmlspecialchars($_GET['script']) ?>"></iframe>
    je pense que ça devrait largement suffire...

  12. #12
    Membre éclairé
    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
    Points : 790
    Points
    790
    Par défaut
    http://kellyshannon.com.au/forum/
    I'M NoT a LaMerz i'M JuSt a HaCkEr !

    WaLiDu94
    De la citation d'antologie ça, surtout vu le pseudonyme
    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.

  13. #13
    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 : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Arf, moi aussi j'ai été voir.
    Et j'avoue que je serais vert de honte de me faire pirater par ces mecs.
    Et en plus, cela me poserais une question existentielle : comment peut-on maîtriser correctement un langage de programmation et être aussi mauvais dans sa langue maternelle ?
    Parce que j'ai vu quelques panneaux d'accueil de ces hackers qui sont pitoyables au niveau de l'orthographe...
    Les ravages de l'internet en images...
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  14. #14
    Membre averti
    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
    Points : 303
    Points
    303
    Par défaut
    Le terme «hacker» à été détourner...
    Pour être transformer en un terme désignant un adolescent frustré, incapable de faire quelque chose dans un domaine où il pense briller.

    Pour ce qui est de la langue Française, je suis sans doute une des personnes qui la maitrise (d'ailleurs je ne la maitrise pas) la moins bien sur ce forum,
    je le prends pour une attaque personnelle, c'est un affront, je vous provoque en duel,
    non, je déconne, mais je pense que la langue Française, même mal acquise et toujours mieux que l'illettrisme ou l'analphabétisme.

    Je ne cherche pas à justifier quoi que ce soit, je suis tolérant avec beaucoup de chose, la connerie et l'orthographe en fond parti, et je vois que vous aussi, et je tenais à vous remercier.

    D'ailleurs j'ai une sorte de proverbe pour développeur:
    L'orthographe compte moins que la syntaxe.
    Pour revenir dans le sujet, je te conseil:phpSecure.info jml94
    tu y trouveras toute les informations sur les erreurs à évité pour ne pas voire ça page web gribouillé par une andouille.

  15. #15
    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 : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Je vais effectivement me renseigner sur les include / require, il semble qu'il y ait effectivement quelques précautions à prendre.

    Et pour ce qui concerne la syntaxe et l'orthographe, je ne pense pas être un intégriste, encore moins un érudit. Je trouve juste qu'il y a un minimum. Sinon on risuqe de se retrouvé avec des questions en langage sms, et ça franchement ça me lourde.

    Et en guise de conclusion, halte au troll, ça risque de tourner à perl vs python...
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  16. #16
    Futur Membre du Club
    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
    Points : 9
    Points
    9
    Par défaut
    jml94, si tu voyais comment je me fringue, tu me parlerais pas de "mode"

    En plus des pbles (plus graves) mentionnés, il y a celui de refondre l'archi autour des templates, et ça j'ai pas encore le savoir-faire.

    Merci à tous pour vos suggestions. http_redirect m'a mis sur la piste de HTTP_request, utilisé dans PEAR. Ca fait pas mal l'affaire.

    Bonnes fêtes à tous!

+ 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