3

Web 共有のルートに、半機密の PDF ドキュメントを保持するフォルダーがあります。そのフォルダーまたはそのファイルにアクセスするすべての人に、アクセス許可エラーが発生するようにしてください。それはセットアップが簡単で、私はそれを使っています

<FilesMatch "\.pdf$">
 Order Allow,Deny
 Deny from all
</FilesMatch>

ただし、これらの PDF ファイルにリンクできるようにするには、PHP スクリプトを含むサーバー上のサブフォルダーが必要です。ノート; サーバー内でphpがファイルを内部的に読み取れるようにしたくありませんが、httpリクエストの場合、これらの制限されたファイルを直接リンクすることが突然可能になります。

子フォルダーの htaccess ファイルは、ルート フォルダーの htaccess ファイルに設定されたフォルダー パスの上位にあるルールを覆すことができると読みました。そのために、phpスクリプトを使用して特定のサブフォルダーにhtaccessファイルをセットアップしましたが(すべて許可を使用)、機能していないようです。

4

1 に答える 1

2

フォルダーにpdf が/secret/あり、そのフォルダーに htaccess ファイルがある場合、誰がどこからアクセスしているかに関係なく、pdf がアクセスされるたびにファイルが評価されます。Webサーバーとhtaccessファイルの内容に関する唯一の違いは、結果のGoogleリストからそのPDFにアクセスする人と、それらにリンクするように設定したページとの間でわかる唯一の違いはリファラーです。

グーグルから、リファラーは次のようになります:(https://www.google.com/search?q=secret+pdfまたは何か)

設定したページから、リファラーは設定したページの URL のようになります。それだけです、他に違いはありません。つまり、リファラーと照合して、誰かが Google またはページから PDF リンクをクリックしたかどうかを確認できます。問題は、誰でも好きなようにリファラーを作成できることです。あらゆるものに対して完全に偽造される可能性があるため、これが不正アクセスを防止する試みである場合、HTTP リファラーはこれを行うための最悪の方法です。

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://www.yourdomain.com/your_page.html
RewriteRule \.pdf$ - [L,F]

http://www.yourdomain.com/your_page.htmlあなたのpdfディレクトリのhtaccessファイルのこれらのルールは、リファラーが偽造されていない限り、以外の場所からのリンクを防ぎます。

于 2013-09-26T06:52:26.807 に答える