0

Web サイトに zip ファイルがあり、ログイン システムを作成して、有効なパスワードを持つユーザーのみが zip ファイルを一度だけダウンロードできるようにしまし

ただし、ブラウザーのアドレス バーにファイル パスを入力することで、zip ファイルを直接ダウンロードできる可能性は常にあります。

ソース コードを表示すると、zip ファイルのリンクを取得できます。

ブラウザーのアドレス バーにファイル リンクを投稿するだけで、人々が zip ファイルをダウンロードするのを拒否するにはどうすればよいですか? 可能です?

4

2 に答える 2

0

ファイルを Web アクセス可能なフォルダー (/var/www/など) に配置するのではなく、その上に配置して、ユーザーが参照できないようにします ( など/var/files)。次に、ユーザーに提供するには、ユーザーがパスワードを入力した後、php スクリプトを使用して、スクリプトがファイルの場合と同じようにヘッダーを設定し、readfileを使用してファイルの内容をユーザーに出力します。

于 2013-08-24T02:27:34.977 に答える
0

まず、ルート (~/) に secure_zip などと呼ばれるフォルダーを作成します。これは public_html フォルダーと一緒に配置する必要があります (つまり、URL を入力してアクセスすることはできません)。

次に、file.php などと呼ばれる新しい php スクリプトを作成します。

<?php
public function sendFile() {
    $filename            = "sample.zip";
    $attachment_location = $_SERVER["DOCUMENT_ROOT"]
        . "../secure_zip/" . $filename;

    if (file_exists($attachment_location)) {
        header('Cache-Control: public'); // needed for i.e.
        header('Content-Type: application/pdf');
        header('Content-Disposition: attachment; filename="' . $filename . '"');
        readfile($attachment_location);
        die();
    } else {
        die('Error: File not found.');
    }
}

任意のロジックを使用してユーザーを認証する場合は、sendFile() を呼び出します。

if (true) { sendFile(); }
于 2013-08-24T02:27:25.430 に答える