Vous pouvez concevoir une table de base de données simple (ou configuration fichier) qui enregistre la corrélation entre les jetons et les URL protégées, puis dans votre script restrictedimage.php vous devez simplement vérifier le jeton et rediriger l'utilisateur vers le lien réel. Au lieu de cela, si vous souhaitez que vos URL soient gardées secrètes, vous devez télécharger et mettre en cache les images sur votre serveur et les renvoyer directement à l'image au lieu d'une redirection.
Exemple de code pour l'option 1:
$token = isSet($_GET['mid'])?$_GET['mid']:null;
if(!$token) die("No token");
$realURL = retrieveUrlFromToken($token);
if(!$realURL) die("Invalid token");
header("Location: http://mysite.s3.amazonaws.com/" . $realURL);
Exemple de code pour l'option 2:
$token = isSet($_GET['mid'])?$_GET['mid']:null;
if(!$token) die("No token");
$realURL = retrieveUrlFromToken($token);
if(!$realURL) die("Invalid token");
$file = file_get_contents("http://mysite.s3.amazonaws.com/".$realURL);
header("Content-Type: application/force-download");
header("Content-Length: " . strlen($file));
header("Content-Transfer-Encoding: binary");
echo $file;
Notez que retrieveUrlFromToken
pourrait être simplement une fonction d'identité, si vous ne voulez pas cacher le vrai chemin, mais je vous suggère de faire quelque chose de mieux, sinon tout le script est inutile.
Où est votre effort? Ou vous n'avez pas essayé de le faire vous-même? –