2010-11-28 3 views
1

私は認証された権限のあるユーザーに機密ファイルを提供したいと思います。 PHPの部分は正常に動作しています。現在のところ、PHPスクリプトは適切なコンテンツタイプのファイルコンテンツを出力します。しかし、いくつかのファイルは非常に大きいので、HTTPデーモンにサービスを提供したいと思います。ユーザーがファイルを入手できる場合は、まずPHPに "質問"してください。どうすればいい? lighttpdのためにPHPの認証と認可スキームを使用してApache/lighttpdでダウンロードできますか?

答えて

2

:apacheのaditional MODについてはhttp://redmine.lighttpd.net/wiki/1/X-LIGHTTPD-send-file

が必要となります。https://tn123.org/mod_xsendfile/

使い方は次のようになります。

$status = authorization(); 

if($status){ 
    $file = '/tmp/bigfile.dat'; 
    header("X-Sendfile: $file"); 
    header("Content-type: application/octet-stream"); 
    header('Content-Disposition: attachment; filename="'.basename($file).'"'); 
} 

にApacheを使用している場合、あなたも自分の中でXSendFileをオンにしてくださいApacheの設定。それ以外の場合は、空のファイルを提供します。例:

<Directory /var/www/> 
    Options Indexes FollowSymLinks MultiViews 
    XSendFile on 
    AllowOverride All 
    Order allow,deny 
    allow from all 
</Directory> 
関連する問題