[php] Faille de sécurité include()

WRInaute occasionnel
Hello,

Je m'apperçois avec stupeur ce matin que j'ai contruis plein de page avec des bouts de code du style :

Code:
$adresse= "./chemin/".$page.".php";
include ($adresse);

Bref je vous laisse imaginer l'angoisse ;-)

Si je remplace par :

Code:
include ("./chemin/".$page.".php");

On est bien d'accord qu'il n'y a plus de problème ?
 
WRInaute accro
nop aucun probleme, dailleurs ca change pas grand chose :) le serveur va l interpreter de la meme facon, tu va rien gagner, rien perdre :)
je ne vois pas le rapport avec le sujet du post
 
WRInaute accro
je connais bien cette faille, et je vois pas en quoi ta seconde methode est mieux que la premiere :) cette faille s adresse aux développeurs pas tres futés qui passent l url complete de la page à inclure en $_GET.

toi tu concatene une page a inclure en fonction d une variable donnée et un chemin relatif, tu ne sera donc pas touché par ces vers

------edition -------
il faut bien sur lire dans ma phrase que les dévelopepurs de phpBB n'ont pas choisi la meilleure facon pour coder leur appli, voir le nombre de failles dejà découverte a chaque nouvelle version
 
WRInaute occasionnel
Ooups désolé tu as raison.

Mais je te confirme que je ne suis pas très fûté...
J'ai des pages avec des

Code:
require $page;

où je passe la variable $page dans l'url... :roll:

Donc dans ce cas - et dans l'urgence - je remplace par :

($page n'est que le nom du fichier)

Code:
require ("http://monadresse.com/chemin/".$page);

J'ai juste ? :oops:
 
WRInaute accro
oui fais plutot un $_SERVER['HTTP_RACINE'] ou $_SERVER['DOCUMENT_ROOT'] (ca depend du serveur) , tu recevra quelquechose du genre /home/~compte/ que tu met dans $racine
et tu te sert de ca pour faire les include ($racine ."/". $chemin.".php")

ps : désolé pour le terme "futé", je te visais pas particulierement, mais plutot un groupe de développeurs connus ^^)
 
Discussions similaires
Haut