Au secours ?????? (avec le code)!!

jc8 Messages postés 1 Date d'inscription jeudi 20 avril 2006 Statut Membre Dernière intervention 12 octobre 2007 - 5 juin 2007 à 14:36
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 5 juin 2007 à 17:12
voici mon code :

if($_REQUEST["page"] == "")
include ("accueil.php");

include($_REQUEST["page"] . ".php");


et voici le résultat :
Warning: main(.php) [function.main]: failed to open stream: No such file or directory in index.php on line 45

2 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
5 juin 2007 à 15:07
Salut,

1/ Tu veux peut-être utiliser $_GET... Parce que $_REQUEST... Ca va pas donner grand chose.
2/ C'est complètement pas sécurisé du tout... Avec ton code, je peux include par exemple /etc/passwd ou /etc/shadow qui contient les mots de passe Unix du serveur.
Il FAUT ABSOLUMENT contrôler la page que tu vas inclure. Pour cela, tu peux utiliser un switch, pour t'assurer que ton script n'inclue pas n'importe quoi.
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 42
5 juin 2007 à 17:12
Salut

$pages=array('page1', ...);

if (in_array($_GET['page'], $pages)){
    include ($_GET['pages'].'.php');
}else{
    include ('accueil.php');
}

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
0