Faille de sécurité avec Include ? [Résolu]

Messages postés
3
Date d'inscription
mercredi 19 mai 2004
Statut
Membre
Dernière intervention
28 avril 2006
- - Dernière réponse : cs_Anthomicro
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 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 ?

Merci d'avance
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
237
Date d'inscription
lundi 20 mai 2002
Statut
Membre
Dernière intervention
22 juillet 2011
2
3
Merci
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.

Bonne journée ++

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de platon179
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
3
Merci
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.

a +

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Anthomicro