le 15/12/2003 à 17:01
lepacha
salut,
j'ai vu sur le net qu'il fallait se protéger de la faille include en utilisant la fonction if.
J'ai vu ca ici :
http://www.espionet.com/articles/failleinclude.php
ils conseillent de faire ca :
<?PHP
if ($var == "") { include("sommaire.php"); }
else {$var = $var.".php";
{if (file_exists($var)) { include($var); }
else {include ("404.php"); }
}
}
?>
je voulais savoir comment bien protéger mon code sachant que je dois recupérer l'id et afficher le contenu de ma bdd correspondant à l'id ?
Page qui émet le lien :
<a href=\"voir_article?id=".$tableau["id"]."\" >Lire l'article.</a>
Page qui traite la variable id et qui affiche en conséquence (je met le code ici et pas dans le wall car il est tres court):
<?php
$id=$_GET["id"] ;
//inclusion des code d'acces base de données
include "admin/acces.php";
//connexion
$connexion = mysql_connect($sql_host,$sql_user,$sql_pwd) or die("Connexion Serveur Impossible");
mysql_select_db($sql_base,$connexion);
// requête
$requete = "SELECT * FROM articles WHERE id=$id ";
$envoi = mysql_query($requete);
$tableau = mysql_fetch_array($envoi)
echo "Affichage de l'article : ".$tableau["contenu"]."";
?>
comment puis appliquer l'astuce précédente pour se premunir de la faille include dans mon cas?
merci d'avance
++
j'ai vu sur le net qu'il fallait se protéger de la faille include en utilisant la fonction if.
J'ai vu ca ici :
http://www.espionet.com/articles/failleinclude.php
ils conseillent de faire ca :
<?PHP
if ($var == "") { include("sommaire.php"); }
else {$var = $var.".php";
{if (file_exists($var)) { include($var); }
else {include ("404.php"); }
}
}
?>
je voulais savoir comment bien protéger mon code sachant que je dois recupérer l'id et afficher le contenu de ma bdd correspondant à l'id ?
Page qui émet le lien :
<a href=\"voir_article?id=".$tableau["id"]."\" >Lire l'article.</a>
Page qui traite la variable id et qui affiche en conséquence (je met le code ici et pas dans le wall car il est tres court):
<?php
$id=$_GET["id"] ;
//inclusion des code d'acces base de données
include "admin/acces.php";
//connexion
$connexion = mysql_connect($sql_host,$sql_user,$sql_pwd) or die("Connexion Serveur Impossible");
mysql_select_db($sql_base,$connexion);
// requête
$requete = "SELECT * FROM articles WHERE id=$id ";
$envoi = mysql_query($requete);
$tableau = mysql_fetch_array($envoi)
echo "Affichage de l'article : ".$tableau["contenu"]."";
?>
comment puis appliquer l'astuce précédente pour se premunir de la faille include dans mon cas?
merci d'avance
++