【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页面,只允许从站点内部访问,而粘贴地址到另一浏览器访问的方式将被禁止。
【jsp 防盗链】Referer的简单使用的更多相关文章
- Web_0001:关于阿里云防盗链Referer,CDN加速,OSS自定义域名的操作
		
1,防盗链Referer 防止非法域名访问 OSS 数据,设置白名单: 允许为空 : 表示当从浏览器直接打开OSS资源时有效. 示例说明: 我在www.sojson.com里有一个www.baidu. ...
 - 防盗链[referer]
		
原文出处:http://www.cnblogs.com/devilfree/archive/2012/09/11/2680914.html 总结一下今天学习防盗链Filter的一些知识点: 防盗链要实 ...
 - Nginx实现图片防盗链(referer指令)
		
什么是图片盗链 每张图片在浏览器中都有对应的图片地址,在浏览器中输入这个地址是可以直接拿到图片. 图片盗链,就是盗用者在他的站上需要显示我们的图片,他没有把图片拿下来,放到他的服务器上, 而是直接 ...
 - jsp防盗链代码
		
// 禁止缓存 response.setHeader("Cache-Control", "no-store"); response.setHeader( ...
 - Code笔记 之:防盗链(图片)
		
图片防盗链 参考:http://bbs.csdn.net/topics/330080045 应该是”10种图片防盗的方法“,而不是”10种图片防盗链的方法“,不过看搜索防盗链的人要多一点,所 ...
 - 3_Jsp标签_简单标签_防盗链和转义标签的实现
		
一概念 1防盗链 在HTTP协议中,有一个表头字段叫referer,采用URL的格式来表示从哪儿链接到当前的网页或文件,通过referer,网站可以检测目标网页访问的来源网页.有了referer跟踪来 ...
 - javaWeb 使用jsp标签进行防盗链
		
/** * 1.新建类继承SimpleTagSupport * 新建2个属性, 添加对应的set方法 * 覆盖doTag()方法 */ import java.io.IOException; impo ...
 - Referer图片防盗链
		
前几天讲了<nginx下载防盗链>,今天继续说下图片防盗链. 他们两个使用的指令不同,前者使用secure link,并且需要程序配合,但是效果非常好;后者不需要程序配合,根据图片来源来实 ...
 - javaweb之request获取referer请求头实现防盗链
		
package test.request; import java.io.IOException; import javax.servlet.ServletException; import java ...
 
随机推荐
- ssh原理[转]
			
SSH是每一台Linux电脑的标准配置. 随着Linux设备从电脑逐渐扩展到手机.外设和家用电器,SSH的使用范围也越来越广.不仅程序员离不开它,很多普通用户也每天使用. SSH具备多种功能,可以用于 ...
 - java 导出excel(复杂案例)
			
import java.io.FileOutputStream;import java.io.IOException; import org.apache.poi.hssf.usermodel.HSS ...
 - POJ 3537 Crosses and Crosses(SG/还未想完全通的一道SG)
			
题目链接 #include<iostream> #include<cstdio> #include<cstring> using namespace std; ]; ...
 - hdu_3341_Lost's revenge(AC自动机+状态hashDP)
			
题目链接:hdu_3341_Lost's revenge 题意: 有n个模式串,一个标准串,现在让标准串重组,使得包含最多的模式串,可重叠,问重组后最多包含多少模式串 题解: 显然是AC自动机上的状态 ...
 - Java线程--interrupt join yield setDaemon常用方法的使用
			
概念: 操作系统可以有多个进程,一个线程可以有一个或多个线程.进程与进程之间不共享内存,都在各自的空间中运行.而线程不仅可以共享内存,还可以用有一个自己的内存空间,叫做线程栈. 线程又称轻量级进程.J ...
 - kettle新建资源库(4)
			
工具中找资源库或者CTRL+R
 - Hexo搭建静态个人博客
			
Hexo简介 之前在Github上托管的博客就是使用jekyll搭建的,官方的Github Pages同样推荐使用它.我之前体验了一下jekyll,没有达到我想要的效果.于是寻找替代方案,搜索同类博客 ...
 - amazeui 搜索 动态
			
<!doctype html> <html class="no-js"> <head> <meta charset="utf-8 ...
 - Java Timer及TimerTarsk(摘自网络)
			
Java自带的java.util.Timer类,通过调度一个java.util.TimerTask任务. 这种方式可以让程序按照某一个频度执行,但不能指定时间运行.用的较少.任务的调用通过起的子线程进 ...
 - javascript焦点图之垂直滚动
			
html代码布局,需要用到定位,不细说了 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...