有什么方法可以设置一个只供会员访问的图库? 我可以设置php登录和所有。 但我想要安全地处理图像。拥有图片网址的任何人都应该无法以成员身份登录之前访问该图片。
答案 0 :(得分:0)
您可以使用以下内容:
将图像放在公众无法访问的位置。
使用代码代码:
<img src="/imageproxy.php?image=<?=$imagename?>" />
imageproxy.php 文件:
$image = filter_input(INPUT_GET,"image");
$imageWithPath = "/path/to/images/".$image
if (/* is authenticated */ && is_readable($imageWithPath) && /* user can access $image*/) {
header("Content-Type: ".mime_content_type($imageWithPath));
$handle = fopen($imageWithPath,"r");
fpassthru($handle);
fclose($handle);
exit;
} else {
http_response_code(403);
exit;
}
这是使用base64图像的替代方法,因为这样您可以异步加载图像而不是预先加载它们。
答案 1 :(得分:0)
为防止图像直接访问,您可以设置会话并在设置会话时显示内容
<?php
session_start();
if(isset($_SESSION['username']) && !empty($_SESSION['username']))
{
echo "<img src='imgname.png' />";
}
?>