2015-04-06 110 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