Dans ton script tu créer un lien symbolique vers le fichier xml ( qui lui est placé dans un répertoire non accéssible par le web par exemple ), ce lien symbolique est lui placé ou tu veux .
biensur tu donne un autre nom au lien symbolique , pourquoi pas codé en md5 par exemple .
$file = '/chemin/du/fichier/config.xml';
$sym_link_name = md5(uniqid());
symlink($file,'/chemin/ou/est/créer/le/lien/'.$sym_link_name);
ensuite dans ton code "html"
<param name="gui" value="load_config.php?f=<?php echo $sym_link_name ;?>">
ensuite tu créer le petit script qui fera le relais (load_config.php).
exemple :
<?php
$path = '/chemin/ou/est/créer/le/lien/';
// nom du fichier récupérer en mode $_GET
$file = $_GET['f];
// récupération du contenu du fichier
$fc = file_get_contents($path.$file);
// efface le lien symbolique
unlink($path.$file);
// renvoie le contenu du fichier
header('Content-Type: text/xml; charset=utf-8');
echo $fc;
exit();
?>
attention ce bout de code n'est pas du tout sécurisé , il faut y appliquer les règles d'usage lorsque l'on traitre des données utilsateurs.
pour etre plus éfficace il faudrait ajouter à ca des controles de sessions ou de cookies par exemple .
Maintenant il faut savoir que ca empechera un accès direct au fichier, mais pas d'en voir le contenu.
Car en regardant le resultats des requetes effectué par le navigateur ( via firebug par exemple ) on en verra la contenu !
si tu ne veux pas qu'on puisse lire le contenu il faut crypter les données.
Modifié par PeterPetrelli (26 Jun 2007 - 14:03)