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] récupérer le résultat d'un eval() dans une var


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut [Système] récupérer le résultat d'un eval() dans une var
    Bonjour à tous,

    voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $prout = eval("echo 'lol';");
    echo $prout;
    ce n'est bien sûr qu'un exemple.. mon but est d'utiliser cette fonction dans une classe qui doit gérer des templates... alors pas de remarques sur l'utilité de ce script, merci

    donc mon but dans ce code est de récupérer dans la variable $prout le résultat d'eval().. ce qui se passe actuellement, c'est que "lol" est affiché au lieu d'être rentré dans la variable $prout... et donc la variable $prout est vide :'(

    j'ai entendu dire que eval() renvoyait directement le résultat dans le buffer de sortie.. y aurait-t-il donc un équivalent que je puisse utiliser ?

  2. #2
    Futur Membre du Club
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    c'est bon en fait je viens de trouver la solution... pour ceux que ça intéresse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $contenu = "echo 'lol';";
    ob_start();
    $result=eval($contenu);
    $result=ob_get_contents();
    ob_clean();
    echo $result;

  3. #3
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Quelques remarques :
    eval n'est pas maintenable
    -> j'ai eu à debugger un systeme de template basé sur eval. Une horreur sans nom. C'était vraiment trop prise de tête est je le souhaite à personne.

    eval peut être une faille de sécurité
    -> suivant le contexte, tu peux inclure une chaine dont tu ne maitrise pas la source (typiquement un systeme de template). Et cette chaine peut contenir tu code executable qui peut compromettre l'integrité de ton serveur.

    Enfin, moi je dis ça, je dis rien. après tu fait comme tu le sens, mais je t'aurais prévenu

    Sinon si tu as résolu ton problème, n'oublie pas le bouton en bas à gauche.

  4. #4
    Futur Membre du Club
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    tant que le nom de fichier template ne se trouve pas dans une variable get/post/session... je ne vois pas où elle peut être la faille de sécurité... mais vas-y précise le fond de ta pensée ça m'intéresse !

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

Discussions similaires

  1. [AC-2003] Récupérer le résultat de ma fonction dans une requête access
    Par PASINFO dans le forum VBA Access
    Réponses: 1
    Dernier message: 28/09/2010, 19h07
  2. Récupérer le résultat d'un .exe dans une variable
    Par stepd dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 02/12/2008, 09h38
  3. Réponses: 8
    Dernier message: 18/04/2008, 17h40
  4. Réponses: 3
    Dernier message: 02/02/2007, 14h30
  5. récupérer le résultat d'un SELECT dans une variable ?
    Par budhax dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/06/2006, 10h24

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