Présumant que tu utilises le lecteur FLV de Neolao (d'après le fichier de configuration), j'ai fais plusieurs tests.
Si c'est bien ce lecteur que tu utilises, j'en suis finalement arrivé à la même conclusion que toi.
La ligne flv=get.php?url=fichier.flv n'est pas comprise
En effet, dans le fichier de configuration il n'y pas moyen de placer une URL contenant des paramètres.
N'ayant pas d'autre choix que de faire :
Nous allons utiliser la réécriture d'URL (*).
Nous plaçons un fichier ".htaccess" dans le répertoire "gestion_video" contenant :
1 2 3 4
|
RewriteEngine On
RewriteOptions Inherit
RewriteRule ^([a-z0-9_-]+\.flv)$ get.php?url=$1 [NC,L] |
Ainsi lors de l'accès à
fichier_quelconque.flv
le serveur nous renvoie les données de
get.php?url=fichier_quelconque.flv
Voici à nouveau la partie du code de get.php corrigée et, prenant en compte le nouveau chemin.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <?php
$flv=isset($_GET['url'])?trim(basename((string)$_GET['url'])):'';
if($flv!==''){
$ext=strtolower(substr($flv,strrpos($flv,'.')));
if($ext=='.flv'){
$flv=dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'film'.DIRECTORY_SEPARATOR.$flv;
if(file_exists($flv)){
header('Content-Type: video/x-flv');
if(@readfile($flv)===false)
$msg='Erreur de lecture';
else
exit();
}else
$msg='Fichier non trouvé';
}else
$msg='Paramètre invalide';
}else
$msg='Paramètre manquant';
echo 'Lecture impossible : '.$msg.'<br>Contactez l\'administrateur<br>';
?> |
La nouvelle arborescence
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
gestion_video/
.htaccess (URL Rewriting)
peche.txt (contient flv=peche.flv)
get.php
decodeur.swf
film/
.htaccess (deny from all)
peche.flv
...
fichier.html (contient la balise <object>) |
(*) En éspérant que l'URL rewriting est possible sur ton hébergement.
Partager