ビデオ用の壊れた (?) スクリプトを取得しようとしています。期限切れリンクではなく直接リンクが使用されている場合、403 を返すのに問題があります。
私は現在、このように有効期限付きで URL を保護/非表示にすることができます。domain.org/media/ X2lkdmFSZHZ1MU40dmhnM3E0V2lNQQ,1370948784 /flv/38.flv
ファイルは /home/srv/public_html/media/videos/flv にあります
ただし、正しいパスがまだわかっている場合は、ビデオ ファイルを URL から直接利用できます。domain.org/media/vidoes/flv/38.flv _ _
以下は、安全なリンクを作成し、flv ファイルのプログレッシブ ストリーミングを提供するコードの関連セクションです。
$config['nginx_key'] = 'TOPSECRET';
$config['nginx_prefix'] = '/media/';
$file_sd = '/flv/' .$video_id. '.flv';
$time = time()+ 3600;
$md5hash_sd = md5($time . '.' . $file_sd .'.' . $config['nginx_key'], true);
$md5hash_sd = str_replace('=', '', strtr(base64_encode($md5hash_sd), '+/', '-_'));
// return result
$SD_URL = $config['BASE_URL'].$config['nginx_prefix']. $md5hash_sd . ',' .$time .$file_sd;
result; domain.org/media/X2lkdmFSZHZ1MU40dmhnM3E0V2lNQQ,1370948784/hd/38.mp4
これらはnginxのルールです。
location ~ ^/media/(?<secure>[\w\-=]+,\d+)(?<file>/.*\.flv)$ {
secure_link $secure;
secure_link_md5 $secure_link_expires.$file.TOPSECRET;
if ($secure_link = "") { return 403; }
if ($secure_link = "0") { return 410; }
alias /home/srv/public_html/media/videos$file;
flv;
}
私の質問は、最終的に有効期限が切れる安全なリンクではなく、誰かが flv ファイルに直接アクセスしようとすると、403 を返すことができない方法を誰かがここで見ることができるかどうかです。機能していないように見えるのは 403 だけです。
御時間ありがとうございます。-DR