PHP: 如何根据users/groups限制php文件返回的图片?

PHP: How to restrict the images returned by a php file based on users/groups?

根据本网站上的建议,我将 image.php 文件用于 return 图像资源,如 (出于安全原因,无法将图像链接为文件)限制)。

如何限制某个用户可以从这个 image.php 文件中 'get' 的图像?

我在我的网站中使用 OOP MVC 架构。连接后,当 index.php 运行时,许多 类 被加载并实例化,因此线程具有指示用户是谁以及他可以访问哪些资源的变量。

此文件 image.php(return 是一个图像)充当 'stand alone' 脚本(由客户端的 HTML src 属性访问), 没有被已经-运行 线程加载,并且(如果我误解了请原谅我)没有变量来指示用户是谁以及他可以访问什么。

我可以让 image.php 执行与 index.php 相同的例程,加载和实例化 类,但我认为这对于单个图像来说是一种可怕的资源浪费。

如何在不增加服务器负载的情况下,根据用户限制 return 由 image.php 编辑的图像?

编辑:我在一些网站上观察到 image.php 传递了一个长字符串 GET 变量,这可以是一种方法吗?

如果我解释不清楚,请耐心告诉我,我会尽力澄清。

您需要以某种方式在 image.php 上识别用户,这将取决于您创建用户会话的方式。如果您正在使用 PHP 会话,您可以这样做:

session_start();
$username = $_SESSION['username'];
// check permissions

大多数框架在 PHP 会话中使用适配器和包装器,在 image.php 上仅 var_dump($_SESSION) 并检查您需要的信息是否存在。不要忘记致电 session_start.