私は、ある時点で PDF ファイルの表示を利用するシステムを構築しています。
これらのファイルは、システム外部から誰も閲覧できないようにロックする必要があります。つまり、ファイルに直接アクセスすることはできず、ユーザーに表示するためにサーバーからのみアクセスされます。
documents
次のようなフォルダがあります:
.htaccess
test.pdf
test.txt
私の .htaccess には次の内容があります:
Order Allow,Deny
Deny from all
これにより、ファイルに直接アクセスすることができなくなります。example.com/documents/test.pdf
それでも、ファイルをシステム内で表示できるようにする必要がありますが、直接 URL で読み込むこともできません。そこで、フォルダーのすぐ外側に というファイルを作成しましたdocuments
。load_pdf.php
このファイルは次のようになります。
header("Content-Type: application/pdf");
$pdf = file_get_contents('documents/test.pdf');
echo $pdf;
そして、うまくいきました! 次のようにファイルを埋め込むことができます:
<embed src="/load_pdf.php"></embed>
しかし、問題があります。誰でもload_pdf.php
ブラウザで直接読み込むことができ、アクセスできないはずの PDF ドキュメントが表示されてしまいます。
自分の要素load_pdf.php
内のサーバーによってロードされていない限り、ロードされないようにブロックする方法はありますか?<embed>
答え1
ファイルにアクセスしたい IP アドレスを指定するか、ログインしている場合は特定の電子メール ID を使用して表示を許可することができます。
これらはすべてload_pdf.phpの先頭で指定できます。
答え2
いいえ。
https://stackoverflow.com/questions/4930914/prevent-pdf-file-from-downloading-and-printing
最終的には次のことが必要になります。
各ページの画像を作成する
独自のインターフェース(HTML、Flashなど)を介してWeb上でユーザーに提示します。
答え3
これは次のようにして実行できます:-
<Files *test.pdf>
Order allow,deny
Deny from all
</Files>
<Files *test.txt>
Order allow,deny
Deny from all
</Files>