保护 Web 服务器上的图像


Securing images on web server

可能的重复项:
在 PHP 中保护文件上传的好方法

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

问题是这个网站有一个用户系统,我只希望允许用户访问这些图像,如果我将它们放在 Web 服务器上,我如何保护它们,以便人们无法通过编写文件的直接 URL 来访问它们?

感谢您的所有帮助,如果您能举出或参考一个例子,那就太好了。

您可以使用 .htaccess 来阻止用户访问这些图像直接 URL。

<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>

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