【jsp 防盗链】Referer的简单使用


在web系统中,盗链的问题时有发生,即复制一个url地址,在另一个地方也能访问。

在jsp中通过request对象可以获取客户请求信息和表单信息,在客户请求头信息中,"Referer"属性是上一次请求的url,利用"Referer"属性值可以解决盗链的问题

 

 

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
  <head>
  </head>
  
  <body>
    here is index.jsp<br />
    <a href="a.jsp">点击跳转到 a.jsp</a>
  </body>
</html>

 

 

 

a.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
  <head>
  </head>
  
  <body>
     here is a.jsp<br/>
     从哪个链接跳转过来: <%=request.getHeader("Referer") %><br />
     <%
         if( request.getHeader("Referer")==null  || request.getHeader("Referer").indexOf("domain.com")<0 )
         {
      %>
       非法访问
      <% 
          }
          else{
      %>
        欢迎您!
      <% 
          }
      %>
      
     
  </body>
</html>

 

 

在上述代码中,”domain.com" 部分可根据实际情况改为站点的域名,上述的a.jsp页面,只允许从站点内部访问,而粘贴地址到另一浏览器访问的方式将被禁止。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。