저는 어느 시점에서 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, 플래시 등)를 통해 웹에서 사용자에게 이를 제공합니다.
답변3
다음을 수행하여 이 작업을 수행할 수 있습니다.
<Files *test.pdf>
Order allow,deny
Deny from all
</Files>
<Files *test.txt>
Order allow,deny
Deny from all
</Files>