我的网站根目录有一个图像目录。它包括应该在公共子目录中公开的图像,以及应该只对登录用户可用的私有目录中的图像。问题是登录用户可以复制 img URL,将其提供给非用户,现在他们可以访问。
我已经设置了一个 .htaccess 文件来防止盗链。我怀疑我需要创建一个服务器映像的控制器,并检查为映像提供服务的用户凭据 b4,如果他们尝试访问私有映像,则使用 .htaccess 将用户发送到该控制器?这是最佳实践吗?有人可以发布一些代码来帮助我更好地可视化。
我的网站根目录有一个图像目录。它包括应该在公共子目录中公开的图像,以及应该只对登录用户可用的私有目录中的图像。问题是登录用户可以复制 img URL,将其提供给非用户,现在他们可以访问。
我已经设置了一个 .htaccess 文件来防止盗链。我怀疑我需要创建一个服务器映像的控制器,并检查为映像提供服务的用户凭据 b4,如果他们尝试访问私有映像,则使用 .htaccess 将用户发送到该控制器?这是最佳实践吗?有人可以发布一些代码来帮助我更好地可视化。
在对用户进行身份验证后,您始终可以使用 PHP 从隐藏路径流式传输图像。创建一个名为 getimage.php 的控制器,您可以像这样调用它:
<img src="getimage?imagename.jpg" />
然后在控制器中:
<?php
class Getimage extends Controller{
function index(){
//code to authenticate user goes here then...
header("Content-type: image/jpeg");
if(file_exists(hiddenpath.$_GET['imgid'])){
$img_handle = imagecreatefromjpeg(hiddenpath.$_GET['imgid'] ) or die("");
ImageJpeg($img_handle);
}
}
}
?>