所以我建立一个网站,用户可以看到一个较小的图像预览,他们必须注册才能看到完整的决议。mod_rewrite形象保护
我不缩略图,我只是加载整个图像,并缩放它。由于图像的分辨率较低,这并不是一个真正的问题。
问题是,用户只需右键单击图像选择“在新标签中打开”,他们就可以了。我想以一种可以在浏览器中以-tag显示.jpg和.gif文件的方式禁用该功能,但是当他们尝试在地址栏中输入路径时不能这样做。
我在Apache上。
这可能吗?提前致谢。
所以我建立一个网站,用户可以看到一个较小的图像预览,他们必须注册才能看到完整的决议。mod_rewrite形象保护
我不缩略图,我只是加载整个图像,并缩放它。由于图像的分辨率较低,这并不是一个真正的问题。
问题是,用户只需右键单击图像选择“在新标签中打开”,他们就可以了。我想以一种可以在浏览器中以-tag显示.jpg和.gif文件的方式禁用该功能,但是当他们尝试在地址栏中输入路径时不能这样做。
我在Apache上。
这可能吗?提前致谢。
您将需要缩略图版本和大版本。当你缩小尺寸时,你只能缩小显示尺寸。全尺寸图像实际上已经在他们的计算机上。
东西线沿线的:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.yourdomain.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://yourdomain.com/.*$ [NC]
RewriteRule ^/PublicFiles/*$ /page-about-direct-links.html
未经检验
谢谢克里斯,我不在我的工作电脑附近,但是当我测试它时,我会让你知道。 – priktop 2011-03-22 10:53:30
我看到你想要阻止“在新标签中查看” - 在这种情况下检查引用链接将不起作用,因为引用链接可能仍将设置为您的网站。 在任何情况下,如果有人真的想要击败这种保护措施是微不足道的。引用者由客户端设置,因此您可以随意更改它,而不需要任何服务器交互。 – 2012-03-29 20:18:59
更改方法:
如果你是显示小图,从不使用原始图像。这将需要更长的时间来加载,这是一个不好的习惯。改为使用缩略图,节省带宽,加速页面。
将原始图片移到web文件夹的旁边。这样他们就不能通过链接直接访问。
制作一个php脚本,如果用户注册,将会加载原始图像。
mod_rewrite无法检查用户是否已注册或登录。至于阿帕奇“basic authentican”可以使用(但不是最好的办法)。
function getImageFromOutside ($homePath, $file)
{
if (file_exists ($homePath . '/' . $file))
{
$contents = file_get_contents ($homePath . '/' . $file);
return $contents;
}
}
$homePath = 'some_path/img';
if (isset ($_GET['uid']))
{
$img = $_GET['uid'] . '.jpeg';
header ('Content-type: image/jpeg');
echo getImageFromOutside($homePath, $img);
} else {
print_r ($_GET);
echo file_exists ($homePath . '/' . $file);
}
测试,用文件夹结构
这不是一个真正的问题。我的观众并不擅长电脑。而且即使这会发生几次,这不是什么大不了的事情。我只是想知道如果我可以用mod_rewrite更好地保护它。但谢谢你的回答。 – priktop 2011-03-21 17:12:37