eval et sa sécurité

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 : eval et sa sécurité

Re: eval et sa sécurité

par Spols » 28 août 2010, 23:58

Merci, c'est exactement ce que je cherchais et j'ignorais que cela existait.

Petite question additionnel
Dans quelles cas utilise t on eval() à bon escient ? Dans la plupart des exemples de la littérature, on dit :
Imaginons que, pour une raison obscure, il décide pour se faire d'utiliser le fonction eval.
. C'est très bien pour expliquer le fonctionnement, mais je comprends quand l'utiliser ?

Re: eval et sa sécurité

par stealth35 » 28 août 2010, 01:12

dans ce cas il faut utilise le buffer ob_start + include

eval et sa sécurité

par Spols » 28 août 2010, 00:41

Bonjour, j'envisage d'utiliser eval dans mon script et je voudrais votre avis sur la sécurité.

Je l'utilise afin d'inclure dans ma page principale une autre page contenant du code html et du php initialement rédiger par moi même en dur via un logiciel d'édition de fichier. J'envisage par la suite d'utiliser des script pouvant modifier ces fichiers mais dans ce cas là, ces scripts veilleront à ce que les parties de code php soit sécurisé.

La raison pour laquelle je n'utilise pas la fonction include est que je désire modifier dynamiquement (enlever certaine balise etc.) le contenu du fichier avant son exécution.

voici un exemple simplifier:
index.php
<html><head>...</head>
<body>
<?php
$file_name = 'mon_contenu.php'; //Nom du fichier contenant l'html et le php da ma page
$file_contents = file_get_contents($file_name);
$file_contents = modif_page($file_contents);//Je modifie le contenu de ma page (je retire toute les balises langues et leurs contenus ne correspondant pas à la langue demandé par l'utilisateur et supprime les balises langues de l'utilisateur en gardant leurs contenus
eval( '?> '.$file_contents.' <?php ' );
?></body></html>
mon_contenu.php
<div id="corps>
<fr>Salut</fr>
<en>Hello</en>
<?php
//recup dans une base, traitement des données et affichage de celle ci
?>
</div>
Que pensez vous du système point de vue sécurité ? (autre point de vue également accepté)
Pensez vous à un autre moyen de faire la même chose ?

merci de votre attention