保护Web服务器上的图像

时间:2013-01-24 00:52:15

标签: php file file-upload security

  

可能重复:
  Good Way to Secure File Uploads in PHP

我想使用php上传一些图片,我知道将它们存储在数据库中并不是正确的做法,因此我将它们存储在我的网络服务器上。

问题是这个网站有一个用户系统,我想只允许用户访问这些图像,如果我把它们放在网络服务器上,我怎样才能保护它们以便人们不能通过写一个直接的网址到达他们文件?

感谢您的帮助,如果您能提供或参考示例,那就太棒了。

1 个答案:

答案 0 :(得分:1)

您可以使用.htaccess阻止用户访问这些图片直接网址。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
    RewriteRule ^images/$ /error.php
</IfModule>

将此文件放在文档根目录中。