作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
有没有办法区分盗链图片的网站和实际在网站上查看图片的用户?
<img src="http://example.com/img.jpg">
对比
用户直接在http://example.com/img.jpg
上查看
最佳答案
您的服务器通常可以区分用户直接在您的域上查看图像和另一个域盗链您的图像。
停止盗链并允许直接查看的常用解决方案是通过 .htaccess
, 只让 Apache 向您的域提供图像文件,不向其他域提供图像文件。
因此,用户仍然可以直接转到您的图像文件...因为您的图像在您的域中,但您的图像不能用于另一个域中的图像标记。
因此,在您的 .htaccess
中的某处,您将拥有如下内容:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
有online tools这将帮助您创建这些 .htaccess
行。
当然你不必如此严格,你可以允许一般的热链接,但只限制来自“有问题的域”的热链接。
此外,如果您选择热链接器而不是他们请求的图像,您可以让 Apache 提供图像而不是停止热链接,而不是停止热链接 - http://www.yourdomain.com/hotlink.jpg
在下面的例子中:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.yourdomain.com/hotlink.jpg [R,L]
关于php - 区分盗链与现场用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6977613/
我是一名优秀的程序员,十分优秀!