【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页面,只允许从站点内部访问,而粘贴地址到另一浏览器访问的方式将被禁止。

上一篇:Java项目中使用log记录日志的一些总结


下一篇:Python3 range() 函数用法