J'utilise des URL expirantes pour masquer les URL des images que j'utilise sur mes sites, de sorte qu'elles ne peuvent être connectées que pendant toute la durée de vie du hachage (1 heure).Comment cacher l'URL du fichier .flv dans un lecteur flash?
Je vérifie le hachage envoyé avec l'URL du fichier, contre un hachage sur le serveur, si elles correspondent, le script appelle le code suivant:
if (isset($_GET["hash"])) {
$this_min = date('Y-m-d-g',time()) . "salt" . $vid_id;
$current_hash = substr(md5($this_min),0,12);
$submitted_hash = mysql_real_escape_string($_GET["hash"]);
if ("$current_hash" == "$submitted_hash") {
$file_url2 = "directory/" . $vid_file;
header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: inline; filename=\"".md5($vid_file)."\"");
readfile($file_url2);
exit;
} else {
$_SESSION["message"] = "Download link expired, refresh the page and try again";
$_SESSION["message_type"] = 0;
header("Location:" . $_SERVER['HTTP_REFERER']);
exit;
}
}
J'utilise ce dans une balise (par exemple, <img src="index.php?id=123&hash=ew6rg5reg4">
Si l'image est hotlinkée, elle s'arrêtera quand le hachage changera, toutes les heures (ou minutes si nécessaire) Malheureusement, cette même méthode ne marche pas quand je l'utilise pour charger des fichiers .flv en flash joueur, tel que le joueur JW Aucun fichier .flv n'est chargé
De toute façon je peux résoudre ceci ou réaliser la même chose avec un autre méthode?
Dois-je comprendre que si quelqu'un télécharge votre page web à, dire, 6:59:45, avec une connexion lente, alors la plupart des images intégrées ne parviendront pas à charger? Cela ne semble pas très chanceux ... –