2012-03-20 17 views
0

このテクニックの名前はわかりませんが、私はそれを見て理解しています。ファイルをトークンでダウンロード - セキュリティで保護された[ディレクトリ]ファイル

まず、サーバー上のファイルを保護するために使用されます。

たとえば、これはPDFファイルのリンクhttp://www.ee.ryerson.ca/~jaseem/pub/L3_WLAN.pdfです。私は簡単にダウンロードできます。

サーバーがエラーを応答するのは、http://av.vimeo.com/91289/159/66395917.mp4

に、このファイルをダウンロードするには、今してみましょう:次にしようと1332206979_99377a4999e218448c89adce520781db

An error occurred while processing your request. Reference #50.2c1b434d.1332206487.dadf1f

だから、MP4ファイルをダウンロードするために、私はこのようなトークンを持っている必要があります今、URL上のトークンとのこのリンクは、私はそれを簡単にダウンロードすることができます。 http://av.vimeo.com/91289/159/66395917.mp4?token=1332206979_99377a4999e218448c89adce520781db

私の質問は、私が保護したり、安全なファイルを私のサーバー上で、それらがコードまたはトークンを持っている場合、人々はそれらをダウンロードできるようにするために行うことができる方法です?

+0

ノンスを生成します。ノンスを出しなさい。一度ダウンロードが始まるとナンスを忘れてしまいます。 –

答えて

0

以下のトークンは1秒間続きます。

<input type="hidden" name="nonce" value="<?php echo nonce('token'); ?>" /> 

function nonce($expires=86400, $str){ // generates a secure nonce 
    return sha1(date('Y-m-d H:i',ceil(time()/$expires)*$expires).$str.$salt); 
} 
+0

これは解決策です!しかし、私はより多くのファイルを保護したい。たとえば、このファイルにトークンなしでアクセスすることはできません。http://av.vimeo.com/91289/159/66395917.mp4 ファイルの名前を変更してください。サーバーは引き続きファイルへのアクセスを禁止し、エラーを表示します。これは外部からのアクセスからファイルを保護する方法ですが、アプリケーションがトークンがあることを条件にファイルを読み取ることは可能です。 – alibenmessaoud

+1

私はアイデアを持っています...あなたのファイルリポジトリでhtaccessを使用することをすべて拒否しないと、/ files /と言うことができます。 /download.phpを経由してもファイルリポジトリにアクセスすることができます...そこからバイナリをミラーリングし、ヘッダとビオラを設定するだけです。 –