Bonjour à tous,
J'avais une petit question sur les failles include du genre <?php include("menu12.inc.php"); ?>.
Est ce vraiment dangereux de faire ceci?
Bonne journée
Bonjour à tous,
J'avais une petit question sur les failles include du genre <?php include("menu12.inc.php"); ?>.
Est ce vraiment dangereux de faire ceci?
Bonne journée
Bonjour,
????
A mon avis, ce qui est le plus dangeureux, c'est de na pas savoir / comprendre ce qu'on fait...
[EDIT] (lu sur le web) :
A priori, ça concerne surtout des codes du genre :[...]Elle n'est pas liée à une vulnérabilité dans une fonction spéciale,
mais est due (comme beaucoup de failles en PHP) à une erreur de programmation commise par un développeur peu soucieux en matière de sécurité[...]
C'est sûr que là, sans tester correctement la variable avant, "y'a souci" !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <?php include($_GET['fichier']); ?> ou <?php include($variable); ?>
Par contre, si le nom du fichier est écrit "en dur", pas de sushi.
Dernière modification par Invité ; 18/04/2017 à 11h24.
Merci Jreaux et je l'ai écrit en dure <?php include("menu12.inc.php"); ?>
et sinon j'ai trouvé ceci sur internet.
Pensez vous que le code ci-dessous est mieux, en terme de sécurité?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?php $pageh=preg_replace("/[^a-z0-9_ ]/i", ".", 'menu12.inc'); if(!@include("$pageh.php"))die("Cette page n'existe pas sur le serveur."); ?>
Si tu avais vraiment fait une recherche sérieuse sur internet,
tu aurais certainement trouver des codes, et surtout EXPLICATIONS (car c'est ce qui te manque le plus : COMPRENDRE).
Il ne m'a fallu que 30s. pour en trouver...
Donc il vaut mieux que je reste sur le <?php include("menu12.inc.php"); ?> ???
Non non le bout de code je l'ai trouvé sur internet et ok ça me convient je reste comme ça alors! encore merci
Ca c'est un code que tu as inventé, non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part $pageh=preg_replace("/[^a-z0-9_ ]/i", ".", 'menu12.inc');
Parce qu'il ne fait rien du tout.
Pour que tu finisses par bien comprendre : include est dangereux dans le cas ou l'utilisateur pourrait faire inclure un fichier de son choix (un fichier de mot de passe par exemple) au lieu du fichier prévu.
Pour que cela soit possible il faut évidemment que le fichier inclus soit variable.
Si tu écris include 'menu12.inc'; le nom du fichier ne peut pas être modifié, donc il n'y a pas de soucis.
Si tu écris include $page;, là il faut être absolument sûr que $page ne puisse pas être altéré.
La manière la plus sûr (mieux qu'une expression régulière comme dans ton code) est de faire une liste blanche de page autorisée.
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
Non c'est un bout de code trouvé sur internet que j'ai adapté pour mon cas.
Ok j'ai bien compris, merci pour les informations.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager