概述
请求消息头中的Referer字段,当浏览器向web服务器发送请求的时候,如果是从其他网页链接过来,就会带上Referer,告诉服务器该网页是从哪个页面链接过来的。
所谓防盗链,就是将这个http请求发给服务器后,服务器限定必须是从自己网站域名的地址过来才能访问资源,当发送的referer显示从其他网站过来时,就会拦截或者跳转到自己的地址,然后再通过自己地址进行访问,避免了其他网站盗用资源。
代码实现示例
//1、设定本服务器作为访问限定地址
String mySite = "http://" +request.getServerName();
//2、从请求对象获取Referer
String referer = request.getHeader("Referer");
//3、判断访问来源地址
if (referer.startWith(mySite)){
//从本站访问时,允许访问
}else {
//从其他站访问时,跳转到本站
response.sendRedirect(mySite);
}