2015-04-06 107 views
0

我創建了一個包含登錄信息的PHP網站,用戶可以訪問PDF文件。 如何防止未經授權的用戶通過直接鏈接訪問PDF文件?防止直接訪問PHP安全網站上的PDF

我嘗試使用.htaccess,但「拒絕所有允許從本地主機」也阻止我登錄的用戶。我嘗試過使用RewriteEngine,它允許所有即使我刪除空引用線:

# ultimate hotlink protection 
<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{HTTP_REFERER}  !^$ 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteCond %{REQUEST_FILENAME} \.(gif|jpe?g?|png)$   [NC] 
RewriteCond %{HTTP_REFERER}  !^https?://([^.]+\.)?domain\. [NC] 
RewriteRule \.(gif|jpe?g?|png)$        - [F,NC,L] 
</ifModule> 

我該怎麼辦?

回答

0

您可以pdf在阻止列表:

# ultimate hotlink protection 
<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{HTTP_REFERER}  !^$ 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteCond %{HTTP_REFERER}  !^https?://([^.]+\.)?domain\. [NC] 
RewriteRule \.(gif|jpe?g?|png|pdf)$ - [F,NC,L] 
</ifModule> 

但是請記住,基於HTTP_REFERER堵也不是100%安全的客戶端也可以發送一個定製HTTP_REFERER頭。

+0

我在本地列表中添加了pdf,我只是從源代碼複製粘貼代碼,它不起作用。我有哪些其他選項來保護這些文件? – 2015-04-06 11:12:04

+0

其他選項是將pdf文件保存在'DocumentRoot'之外並從您的PHP代碼中讀取pdf內容。 – anubhava 2015-04-06 11:12:54

+0

這工作成功了嗎? – anubhava 2015-04-06 11:51:02