利用请求头字段Referer实现“防盗链”

概述

请求消息头中的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);
}
上一篇:django3.2(02创建项目)


下一篇:Django官方为什么没有标准项目结构