Interdire l'ouverture de fichiers php !

[Résolu]
Signaler
Messages postés
288
Date d'inscription
mardi 2 mai 2006
Statut
Membre
Dernière intervention
12 octobre 2011
-
Messages postés
288
Date d'inscription
mardi 2 mai 2006
Statut
Membre
Dernière intervention
12 octobre 2011
-
Bonjour,
ma question est une question très simple d'un débutant, la réponse est peut être dans le forum ou dans une source mais j'ai beau cherché mais pas trouvé vu qu'il y'a beaucoup de données ! ^^

alors voila mon code déja !
<?php
$mainArticle = $_GET['Filename'];

$filetext = './News/Ressources/'.$mainArticle;

if(isset($filetext)){

$file = fopen($filetext,'r');

$contents = fread($file, filesize($filetext));

fclose($file);

echo nl2br($contents);

?>

y'a t-il une fonction qui permet de déterminer si le mot php existe dans la variable $mainarticle, avant de lire, parceque je peux facilement me balader sur tout le serveur en ajoutant des ./ et ../ dans le chemin !

merci d'avance !

6 réponses

Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Salut,

la fonction existe oui, c'est strpos( ), mais ça ne va pas être suffisant. Comme le dit Bling tu peux enlever certains caratères mais c'est un peu sale et pas encore très sûr, alors regarde plutôt du côté de realpath( ).
à+
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
oups

if(substr($chaine, strlen($chaine)-3) == 'php'){ ok }
Messages postés
510
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
5 juillet 2009
3
protege ta variable filename... Du genre, tu vires tout ce que tu ne veux pas (/, ., .., etc)
Messages postés
288
Date d'inscription
mardi 2 mai 2006
Statut
Membre
Dernière intervention
12 octobre 2011

c'est pas le chemin qui pose problème, mais le genre de fichiers à ouvrir, il est possible d'ouvrir tous genres de fichiers avec mon code, comment définir l'extension de fichiers à ouvrir,
merci
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
"parceque je peux
facilement me balader sur tout le serveur en ajoutant des ./ et ../
dans le chemin !"



Pourquoi tu parles de chemin alors ?? ...

un if(substr($chaine, strlen($chaine), -3) = 'php') suffira à faire ce que tu veux. Mais tu ferais bien de suivre mon conseil sur realpath ou celui de Bling, sinon tant pis pour ton site...
Messages postés
288
Date d'inscription
mardi 2 mai 2006
Statut
Membre
Dernière intervention
12 octobre 2011

t'inquiete pour la condition, le chemin je vais le régler aussi, mais mon problème principal est la lecture des fichiers php, ce qui dérange beaucoup, merci tous les deux !