首页

如何实现jsp防盗链功能?

标签:jsp,安全,servlet,防盗链,web安全,java,常见,系统设计     发布时间:2015-05-25   

一、 问题描述

   在Web系统中,为防止自己网站资源被别人直接盗链使用(复制你的URL地址,直接嵌入到他自己网站里)。 在jsp中可以用request对象拿到客户请求信息或者表单数据,在客户端请求头报文协议里,通过“Referer”属性的信息记录上一次请求的URL,所以我们可以利用“Referer”属性值防止盗链问题(如需实现开放接口白名单授权访问或防止内容被盗爬,请参考其他文章内容)。

二、示例如下:

下面首页待跳转页面index.jsp,进入该页面,点击跳转到防盗链页面b.jsp进行安全测试,你可以打开"Web开发者"网络请求链资源信息(如下图1-1)

index.jsp

<html>@b@    <head><title>测试首页</title></head>@b@    <body>@b@       准备跳转到防盗链页面,请点击<a href="b.jsp">跳转</a>@b@    </body>@b@</html>

   99999999999.jpg

   (图1-1)

b.jsp

<html>@b@<head><title>防盗链页面</title></head>@b@    <body>@b@准备进行防盗链测试:@b@     @b@<%@b@@b@if(null==request.getHeader("Referer")||request.getHeader("Referer").indexOf("yourdomain.com")!=-1){@b@@b@%>@b@        @b@  合法访问,欢迎您!@b@     @b@<%}else{%>@b@     @b@   非法访问,你正在盗取被人网站资源!!!@b@         @b@<%}%>@b@     @b@</body>@b@</html>