<分区>
你好网络开发大师
在不影响性能的情况下安全地存储和提供图像的最佳做法是什么?
是否可以将用户图像存储在无法通过 Web 访问的文件夹中(可能在/www 之前的更高位置?)并在用户登录页面后按需提供?用户名和密码访问机制已经到位。
用户不希望公开访问这些图像。
我在 Ubuntu 上运行 nginx 和 php。数据库是mysql。
谢谢!
<分区>
你好网络开发大师
在不影响性能的情况下安全地存储和提供图像的最佳做法是什么?
是否可以将用户图像存储在无法通过 Web 访问的文件夹中(可能在/www 之前的更高位置?)并在用户登录页面后按需提供?用户名和密码访问机制已经到位。
用户不希望公开访问这些图像。
我在 Ubuntu 上运行 nginx 和 php。数据库是mysql。
谢谢!
最佳答案
您可以使用 php 文件来提供这些图像并在提供它们之前进行一些检查。我会尝试这样的事情:
<?php
if ( /* YOUR CHECK HERE */ ) {
header('Content-Type: image/jpeg'); // Or whatever your content type might be
readfile('/path/to/file');
}
您可以使用 RewriteRule 使对您的 php 文件的调用看起来像真实图像:
rewrite /img/users/pictures/(.*) /your_php_file.php?path=$1 break;
或者类似的东西。
这可能是安全的但效率不高,因为您的服务器必须访问两个文件。 php文件和图片文件
关于php - 安全高效地存储/提供网站图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13790403/