トークンと保護された URL の間の相関関係を記録する単純なデータベース テーブル (または構成ファイル) を設計できます。次に、restrictedimage.php スクリプトでトークンを確認し、ユーザーを実際のリンクにリダイレクトするだけです。
代わりに、URL を秘密にしたい場合は、定期的に画像をダウンロードしてサーバーにキャッシュし、リダイレクトの代わりに画像を直接出力する必要があります。
オプション 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);
オプション 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;
retrieveUrlFromToken
実際のパスを隠したくない場合は、単にアイデンティティ関数である可能性があることに注意してください。しかし、もっと良いことをすることをお勧めします。そうしないと、スクリプト全体が役に立たなくなります。