php - 安全高效地存储/提供网站图像

标签 php mysql ubuntu nginx security

<分区>

你好网络开发大师

在不影响性能的情况下安全地存储和提供图像的最佳做法是什么?

是否可以将用户图像存储在无法通过 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/

相关文章:

php - 端口 3306 在 mysql 服务器配置中不可用

MySql 从多个表中选择数据

python - Ubuntu 17.04 上的 OpenCV VideoCapture() 无法正常工作

linux - 如何安装qemu补丁版?

php - 如何访问实体属性的原始值?

php - 在php联系表中捕获用户的IP地址

mysql - 无法创建包含不同字母表的 mysql 排序规则

php - 带有内部选择的复杂 SQL 插入更新

linux - 如何让webkit知道libflashplayer.so的路径,然后使用呢?

php - Symfony2 - 多种形式的主题