phpファイル(serveMedia.phpと呼びましょう)を介してindex.phpに写真とビデオを提供しています。私はmod_rewrite、php-sessions、およびURLに含まれるトークンを使用して、index.phpからこれらのメディアファイルを呼び出します。たとえばsrc="media=SOMEFILENAME&type=jpeg&token=2134573946284615492345"
、メディアファイル自体は.htaccess(deny from all
)によってアクセスが制限されたフォルダーにあります。
今私の質問:このURLに私のindex.phpからのみアクセスできるようにする可能性はありますか?私が達成しようとしているのは、ユーザーがコンテンツを表示できるのは、コンテンツが私のページを介して配信されたときだけであり、そのURLにアクセスしたときは表示されないということです。
たぶん、私が知らない高度な.htaccessまたはphp-optionsがいくつかありますか?私はホストされたスペースにいるので、これら2つがおそらく私の唯一の選択肢です。
これは私が現在取り組んでいるものです:
index.php
ob_start();
session_start();
if (!isset($_SESSION['token']) || $_COOKIE['PHPSESSID'] !== session_id()){
$token = md5(uniqid(rand(), true));
$_SESSION['token'] = $token;
}
else {
$token = $_SESSION['token'];
};
serveMedia.php:
if(isset($_GET['token'])
&& $_GET['token'] == $_SESSION['token']
&& $_COOKIE['PHPSESSID'] == session_id()){
//streamthisfile!
else {
header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found', true, 404);
echo "no file";
session_regenerate_id(true);
session_destroy();
unset($_SESSION);
}
あなたの助けに感謝!