javaWeb防止恶意登陆或防盗链的使用

使用场景:

    明明引用了一个正确的图片地址,只显示“假图片”。常见的防盗链系统,一般使用在图片、音视频、软件等相关的资源上。

实现原理:

    Referer:获取请求的来源
    把当前请求的主机与服务器的主机进行比对,如果不一样则就是恶意链接,反之则是正常链接。如果请求不是通过本站的超链接发出的,做相应操作。
    例如,你有一个访问某资源的网址,但是你事先不知道这个网址是有防盗链的,那么当你输入该网址时你可能会发现,并没有马上跳转到你想要的资源页面而是一些无关的信息页面,但是就是在这些信息页面中你发现有一个超链接或是其他操作可以跳转到你所访问的最终资源页面。

Request.java  
  
  
package net.csdn.request;import java.io.IOException;  
import java.io.PrintWriter;import java.util.Enumeration  
import javax.servlet.RequestDispatcher;  
import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
public class Request extends HttpServlet {  
	public void doGet(HttpServletRequest request, HttpServletResponse response)  
	throws ServletException, IOException {
			getDoorChain(request, response);
	}  
	private void getDoorChain(HttpServletRequest request,HttpServletResponse response) throws IOException {  
	        String referer = request.getHeader("referer");  
	        if(referer==null || !referer.contains("localhost")){  
	            response.sendRedirect("http://www.baidu.com");//本站访问那个资源的链接的页面  
	            return;  
	        }  
	        response.setCharacterEncoding("utf-8");  
	        response.setContentType("text/html;charset =utf-8");  
	        PrintWriter out = response.getWriter();  
	       	out.write("下载马上开始。。。");  
	}  
	public void doPost(HttpServletRequest request, HttpServletResponse response)  
	            throws ServletException, IOException {  
	        doGet(request, response);  
	}  
}  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值