Simuler un include avec une string

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Simuler un include avec une string

par Invité » 13 mai 2008, 20:49

Ok, merci à tous de vos tuyaux. C'est donc une mauvaise idée, je vais utiliser une technique différente.

Sylvain

par Calimero » 12 mai 2008, 16:33

Pour compléter les interventions de Sékiltoyai et HyWaN :

- eval est effectivement un (peut-être le pire du php d'ailleurs) gouffre à performances, à éviter dès que possible.
- eval c'est un peu la boîte de pandore question sécurité : une bonne partie de la sécurité d'un serveur web provient du système de fichiers, auquel il faut avoir accès en écriture pour éxécuter du code. eval() court-circuite complètement ce schéma. A utiliser avec une grande prudence.
- enfin se pose la problématique du stockage et de la maintenance du code que tu vas transmettre à eval() : tu t'apercevras vite que phpmyadmin n'est pas l'environnement d'édition idéal.

eval() est donc dans 95% des cas une fausse bonne idée qui pose plus de problèmes qu'elle n'en résout, à déconseiller fortement.

par Hywan » 12 mai 2008, 15:21

Hey :),
Merci du tuyau mais Eval ne s'applique pas (je crois) à un code PHP5 avec des variables, des requêtes SQL, ...
Et bin tu crois mal ;-).
eval — comme son nom l'indique — évalue un code. Si tu es en PHP 4, il va évaluer le code en PHP 4, si tu es en PHP 5 ... il évaluera le code en PHP 5 ! Il suffit d'écrire ton code comme il faut, mais eval est quand même à mettre à de côté. Comme Sékil l'a dit, c'est pas très folichon côté performance ...

par Sékiltoyai » 12 mai 2008, 01:53

Que veux tu dire par "ne marche pas" ? Qu'est ce qu'il te fait ce code ?

par Mnementh640 » 12 mai 2008, 00:49

Merci du tuyau mais Eval ne s'applique pas (je crois) à un code PHP5 avec des variables, des requêtes SQL, ... Même un petit code du type
eval("$maVar='test';echo 'Ceci est un $maVar';");
ne fonctionne pas.

Sylvain

par Sékiltoyai » 12 mai 2008, 00:46

La performance d'eval est par ailleurs plutôt mauvaise…

par SpintroniK » 12 mai 2008, 00:00

Salut,

regarde du coté de eval : http://fr.php.net/manual/fr/function.eval.php
ça devrait pouvoir t'aider.
mais fait attention à la manière dont tu l'utilise, si un utilisateur peut stocker du code php dans ta base par exemple, ça peut être dangereux !

Simuler un include avec une string

par Mnementh640 » 11 mai 2008, 23:47

Bonjour à tous,

Je stocke dans ma base du code HTML simple que j'affiche ensuite en PHP5 avec un bête "echo". Mais j'aimerai stocker aussi des codes PHP dans cette base. Alors le simple "echo" ne suffit plus.

Existe-t-il une fonction qui fasse comme un "include" avec les string que je récupère de ma table ? La seule solution que je vois serait de stocker ces string dans un fichier temporaire sur le serveur puis de lancer un include dessus. Mais je préfèrerai éviter le passage fichier si possible.

Merci de votre aide !

Sylvain Caillet