一般针对图片等,这里是最简单的代码实现
String referer
=
request.getHeader(
"
referer
"
);

if
(referer
==
null
||
!
referer.startsWith(
"
http://
"
+
request.getServerName()))
...
{
return;
}





关键在于,如果使用
<img src="http://xxxxxxxxxxx/yy.gif"/>
这时,浏览器会自动把当前页面的连接做为文件头的一部分发到服务器,也就是 referer
这样服务器就可以根据这个是否来自允许的主机进行访问控制
如果直接在浏览器输入 http://xxxxxxxxxxx/yy.gif, 则不会向服务器发送 referer,
同样,如果服务器检测referer 没有,同样可以拒绝访问
解决方法:
直接访问肯定不行了,那么只有通过本地的一个程序,使用HttpURLConnection 抓取远端的内容,当然要在header里面伪装referer了!
具体的代码我就不写了,大家可以去搜索 HttpURLConnection 的 使用