我在Nginx 1.8
上使用Windows Server 2012 R2
。我正在网站上发布实时股票图表软件快照。我只使用基本的html
。
我的目标是停止热链接图像,也停止下载它们。
我已尝试IIS
以及Apache
无法停止热链接。
我试过下面的代码来阻止热链接并获得成功。
location ~ .(jpg|jpeg|png|gif)$ {
valid_referers blocked example.com www.example.com;
if ($invalid_referer) {
rewrite (.*)\.(jpg|jpeg|png|gif)$ http://abc.example.com/banned-stamp-clipart.png;
}
}
location /html/images/ {
## drop rest of the world
deny all;
}
但是如何停止从IDM等下载管理器下载图像,例如路径http://www.example.com/images/abc.png
答案 0 :(得分:1)
你无法阻止下载图片,因为如果用户决定下载,他们需要在浏览器中显示它们 - 无论如何他/她都会这样做,或者只是截取屏幕截图。
你只能让这更难。例如 - 将X-Accel-Redirect
与服务器端脚本一起使用,该脚本发出用于图像查看的一次性令牌,这些脚本在html命中时生成,并在浏览器下载图像时过期(也检查那里的referer)。
图像可以分成几个部分,因此更难以使用'原样' (但你自己也难以处理)
此外,它们可以从浏览器缓存中获取,您可以尝试添加无缓存标头,但它看起来不是一个好主意。