`
1028826685
  • 浏览: 938747 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类

开发防盗链标签

    博客分类:
  • Jsp
 
阅读更多

第一步:编写一个防盗标签处理器类RefererTag.java

public class RefererTag extends SimpleTagSupport {
private String page;
private String site;
public void setPage(String page) {
this.page = page;
}
public void setSite(String site) {
this.site = site;
}
@Override
public void doTag() throws JspException, IOException {
PageContext pageContext=(PageContext) this.getJspContext();
HttpServletRequest request=(HttpServletRequest) pageContext.getRequest();
HttpServletResponse response= (HttpServletResponse) pageContext.getResponse();
String referer=request.getHeader("referer");

if(referer==null || !referer.startsWith(site)){
String cp=request.getContextPath();
if(page.startsWith(cp))
{ response.sendRedirect(page);
}else if (page.startsWith("/")) {
response.sendRedirect(cp+page);
}else
{
response.sendRedirect(cp+"/"+page);
}
throw new SkipPageException();
}
else
super.doTag();
}

}

第二步:在WEB-INF编写一个*.tld标签描述文件 view.tld

<?xml version="1.0" encoding="UTF-8" ?>

<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
    version="2.0">
    <description>A tag library exercising SimpleTag handlers.</description>
    <tlib-version>1.0</tlib-version>
    <short-name>SimpleTagLibrary</short-name>
    <uri>/jsp2-tagexample</uri>

    <tag>
        <name>referer</name>
        <tag-class>cn.itcast.web.tag.eaxmple.RefererTag</tag-class>  
        <body-content>empty</body-content>    
        <attribute>
        <name>site</name>
        <required>yes</required>
        </attribute>
        <attribute>
        <name>page</name>
        <required>yes</required>
        <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag> 
</taglib>
第三步:编写一个jsp并且导入自定义标签
<%@ page language="java"  pageEncoding="UTF-8"%>
<%@taglib  uri ="/jsp2-tagexample" prefix="fix"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<fix:referer site="http://localhost" page="/index.jsp"></fix:referer>
<html>
  <head>   
    <title>My JSP '1.jsp' starting page</title>
  </head>
 
  <body>
    This is my JSP page. <br>
  </body>
</html>
第四步:测试...


分享到:
评论

相关推荐

    IIS防盗链筛选器.zip

    标题"IIS防盗链筛选器.zip"表明这是一个与互联网信息服务(IIS)相关的资源,特别是用于防止非法外部链接访问,即防盗链技术。防盗链通常应用于网站的图片、视频或者其他资源,防止其他网站直接引用,以免消耗服务器...

    WBAL防盗链工具 v0.1

    【标题】"WBAL防盗链工具 v0.1" 是一款专为网站设计的防盗链软件,主要用于防止他人未经许可地盗用您的网络资源,如图片、视频等。这款工具基于ASP.NET技术开发,因此需要在运行前确保您的服务器环境支持ASP.NET。 ...

    采集百度,google,yahoo的搜索图片,asp.net破图片防盗链

    标签“采集百度,google,yahoo的搜索图片,asp.net破图片防盗链”综合了以上两个主题,暗示这是一个关于如何在ASP.NET环境中处理图片爬取及防盗链问题的项目或教程。 从压缩包文件名称“caiji”来看,这可能是爬虫...

    [其他类别]Asp.net防盗链实例源码_topreventotherlink(ASP.NET源码).rar

    在 ASP.NET 中实现防盗链功能是保护网站资源免受非法引用的重要手段,尤其是在图片、视频或者下载文件等高流量内容的场景下。防盗链可以防止其他网站直接引用你的服务器资源,从而避免了不必要的带宽消耗和潜在的...

    asp.net中利用ashx实现图片防盗链的原理分析

    除了基本的防盗链逻辑,文章还提到了一些扩展措施,如随机返回正确的图片和错误的图片,或者定时更换正确图片和错误图片,以增加防盗链保护的复杂性和效果。 使用图片时,不再是直接通过标签引用图片链接,而是通过...

    Referer原理与图片防盗链实现方法详解

    在互联网应用中,图片防盗链是一种常见的技术手段,用于防止网站图片被其他网站非法引用。要理解图片防盗链,首先需要了解HTTP协议中的Referer头信息原理。HTTP Referer头是一个HTTP请求头,它记录了当前请求的页面...

    ASP.NET防盗链的实现[归纳].pdf

    ASP.NET防盗链技术主要针对的是网络资源保护,尤其是图片、视频和文件等,防止其他网站未经许可直接引用,导致服务器带宽被滥用。在ASP.NET中,可以通过自定义HttpHandler来实现这一功能。 首先,创建一个新的ASP...

    站长 自执行函数表达式和百度防盗站

    结合“源码”和“工具”的标签,我们可以推测这篇博文可能包含了自执行函数的实现示例和百度防盗链技术的源代码分析。可能作者分享了一种实现IIFE的创新方式,或者提供了一个用于检测和阻止盗链的工具或脚本。读者...

    Java软件开发工程师简历.pdf

    另外,还熟悉 jQuery、JavaScript、Ajax 等前端 WEB 技术,了解 JavaWeb 中防盗链的原理机制。 在 JavaEE 方面,该工程师熟悉 Struts2、Spring、Hibernate 等企业主流开发框架技术,并了解 Mybatis 的 CRUD 操作,...

    2024全新开发API接口调用管理系统网站源码 附教程.zip

    - ".htaccess":这是一个Apache服务器的配置文件,用于设置URL重写、防盗链、访问权限等。 - "使用说明.html":包含系统的使用指南,帮助用户了解如何部署和操作系统。 - "软希网www.58soho.cn更多资源下载.html":...

    httpservlet_request

    4. **防盗链(Anti-Linking或Referer Check)**:防盗链通常用于防止其他网站未经许可直接引用你的资源,如图片或视频。在Servlet中,可以通过检查HttpServletRequest的`getHeader("Referer")`方法来获取请求的来源...

    蓝色小程序网站pbootcms模板-小程序电商软件开发公司网站源码(pc+wap)

    2. **.htaccess**:这是Apache服务器的配置文件,通常用于实现URL重写、防盗链、限制访问、设置错误页面等功能。 3. **favicon.ico**:网站的图标文件,显示在浏览器的地址栏和收藏夹中,提高网站识别度。 4. **...

    ASP.NET开发典型模块大全(C#)23到26章源码

     29.3.3 图片资源防盗链下载 645  29.4 “支付宝”在线支付 648  29.4.1 支付宝接口概述 648  29.4.2 应用支付宝实现在线支付 648  第30章 服务类技术 657  30.1 Web Service实现天气预报 657  ...

    开发表情包下载,

    7. **安全性**:考虑到版权问题,平台需要实施安全措施,如水印、防盗链技术,以防止未经许可的下载和使用。同时,用户上传的内容也需要审核,防止有害或不适当的内容出现。 8. **用户体验**:优秀的表情包平台应该...

    Go-DocHub-参考百度文库使用BeegoGolang开发的开源文库系统

    对于下载功能,服务器需要根据请求提供正确的文件,并处理好防盗链、限速等问题。 此外,DocHub还可能包含其他特性,如标签系统、评论功能、收藏夹等,这些都可以通过扩展Beego的功能来实现。标签系统允许用户对...

    Java软件开发工程师简历.docx

    他了解JavaWeb中的防盗链机制,这对于确保网站内容的安全性和版权保护至关重要。 在JavaEE领域,这位工程师精通Struts2、Spring和Hibernate等主流开发框架,这三大框架是构建企业级应用程序的基础,它们分别负责...

    行业分类-电子-关于半有源电子标签的说明分析.rar

    - **物流管理**:在供应链管理中,半有源电子标签可以实时追踪货物的位置,监控温度、湿度等环境参数,确保货物安全。 - **医疗设备追踪**:在医院环境中,半有源标签用于追踪高价值医疗设备,提高资产利用率。 -...

    多散射体无芯片RFID标签的设计.pdf

    - RFID标签利用射频信号与阅读器交互,并可应用于供应链管理、商品防盗、身份识别等多个领域。 2. 无芯片标签的优势: - 无芯片标签能够显著降低RFID系统的成本,因为它不包含传统标签内的硅芯片。 - 无芯片标签...

    JSP自定义标签案例分析

    案例一是一个基本的防盗链标签,它的主要功能是在用户访问页面时,通过检查HTTP请求头中的“referer”信息来判断是否是从指定的网站发起的链接。如果不是,即认为是盗链,将会重定向到指定的错误页面。下面详细解析...

Global site tag (gtag.js) - Google Analytics