Soyez le premier à donner votre avis sur cette source.
Snippet vu 6 929 fois - Téléchargée 17 fois
<?php $default='default.php'; $VarGet='file'; $IniFile='test.ini'; if(isset($_GET[$VarGet])) { $ini = parse_ini_file($IniFile,TRUE); if(isset($ini['PAGE'][$_GET[$VarGet]])) #Si existe dans le fichier ini { #Existe dans le fichier if(file_exists($ini['PAGE'][$_GET[$VarGet]])) #verifie l'existance du fichier include($ini['PAGE'][$_GET[$VarGet]]); #Existe else include($default); #N'existe pas }else #n'existe pas dans le fichier ini include($default); } ?> Fichier ini -> [PAGE] default=default.php login=login.php admin=admin.php test=test.php ini=test.ini /PAGE [AUTRE] /AUTRE
Je pense que l'idée est sympa, et change des gros IF ou SWITCH que l'on voit habituellement.
la solution avec un require ou include + file_exists n'est pas suffisante.
si j'appel "index.php?page=admin/.htpasswd" ca va juste inclure le fichier admin/.htpasswd
pourtant file_exists serait utilisé.
faire un include/require directement à partir d'une variable GET ou POST est toujours dangereux.
passer par un traitement intermediaire est nécessaire et ce code est sympa.
Il marche sans modif pour 1 ou 1000 pages (contrairement aux tests via IF ou SWITH)
Il marche avec des ajouts de pages (contrairement aux tests via IF ou SWITH)
Il n'inclus vraiment que ce qu'on laisse include (contrairement aux include/require)
Voila voila
Biz
EM.
tu peux simplement interdire l'acces aux pages qui ne viennent pas par rewrite.
pas mal ta technique amezghal je pense que je vais faire pareil c plus pratique
perso j'utilise un tableau + url rewriting:
par exemple:
$pages=array('home','contact','admin');
if(isset($_GET['page']) && in_array($pages, $_GET['page'])){
require $_GET['page'].'.php';
} else {
require page par defaut en cas derreur;
}
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.