菜鸟问题:我有敏感内容(图像),我想将其放入目录中,并仅在用户登录后才向用户显示。在不依赖于简单随机生成的文件名和 . htaccess 文件不指定目录列表?我正在使用 PHP 工作。
谢谢!
最佳答案
您可以将这些图像放在 public_html 之外的不同文件夹中(这样没有人可以访问它们)。然后通过脚本,如果用户登录,您将获取图像文件内容,然后更改标题。如果用户未登录,您可以显示随机图像或显示默认图像。
例如,公共(public)html文件夹是:/var/www
您的图像文件夹可以是:/registered_user/images/
然后在您的 PHP 脚本中您可以编写:
<?php
if(!userLogged() || !isset($_GET['image'])) {
header('Location: /');
die();
}
$path = '/registered_user/images/';
$file = clean($_GET['image']); // you can create a clean function that only get valid character for files
$filename = $path . $file;
if(!file_exists($filename)) {
$filename = '/var/www/images/bogus.jpg';
}
$imageInfo = getimagesize($filename);
header ('Content-length: ' . filesize($filename));
header ('Content-type: ' . $imageInfo['mime']);
readfile ($filename);
然后当你调用图像时你可以使用:<img src="/script.php?image=filename">
关于php - 在用户使用 PHP 登录之前,如何限制内容(图像等)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7155581/