Saga974
Messages postés3Date d'inscriptionmercredi 19 mai 2004StatutMembreDernière intervention28 avril 2006
-
28 avril 2006 à 07:13
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
28 avril 2006 à 13:13
Bonjour,
Je commence depuis peu le PHP, jdois dire que ca m'interesse beaucoup,
Je poste ici à propos de la faille dont j'ai tant entendu parler avec include.
Je comprends pourquoi c'est problématique, mais jme demandais si un
code comme celui ci dessous pourrait pallier au problème en utilisant
SWITCH ? :
if (isset($_GET['page']))
{
switch ( $_GET['page'] ) {
case "1" :
include("tata.php");
break;
case "2" :
include("toto.php");
break;
case "3" :
include("titi.php");
break;
default:
include("news.php");
break;
}
} else {
include("news.php");
}
C'est sur qu'il n'y a que 3 pages dans ce cas, mais le problème serait-il réglé niveau sécurité ?
Je vois que ce code peut être assez lourd, mais il y a-t-il un problème de faille dans ce cas ?
platon179
Messages postés237Date d'inscriptionlundi 20 mai 2002StatutMembreDernière intervention22 juillet 20112 28 avril 2006 à 09:02
Salut :)
Oui, comme ca ca devrait être OK... Il y a une règle de base, simple : ne jamais utiliser de variables avec les fonctions require, include, ... sans l'avoir validée auparavant, par exemple avec un switch comme le tien, ou alors un tableau contenant la liste des pages autorisées et la fonction in_array.
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 28 avril 2006 à 13:13
Salut,
là oui ton problème est réglé, sauf si dans ton switch tu mets par exemple une condition qui permet d'afficher la page d'administration... dans ce cas là faudra vérifier que l'utilisateur peut y accéder.