我通過一個php文件(我們稱之爲serveMedia.php)將圖片和視頻提供給我的index.php。 我使用mod_rewrite,php-sessions和URL中包含的一個令牌來調用index.php中的這些媒體文件,例如, src="media=SOMEFILENAME&type=jpeg&token=2134573946284615492345"
的媒體文件本身通過的.htaccess(deny from all
)只通過頁面訪問php文件
躺在文件夾中有限制存取權限現在我的問題:是否有可能使這個URL只能通過我的index.php訪問? 我試圖實現的是用戶只能在通過我的頁面發送內容時看到內容,而不是在他們訪問它的URL時看到內容。
也許有一些先進的.htaccess或php選項我不知道? 我在託管的空間,所以這兩個可能是我唯一的選擇。
這就是我與此刻的工作:
的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);
}
感謝您的幫助!
這是特定瀏覽器,而不是總是設置,對不對?我引用的頁面的名稱不是靜態的... – basbebe