`

过滤样式文件,防止被非法下载

阅读更多
/**
 *  过滤样式文件,防止被非法下载
 * (通过抓包工具(如:HttpWatch)可以破解该方法)
 * @author RuiLin.Xie - xKF24276
 *
 */
public class StyleFilter implements Filter
{

	public void destroy()
	{
		
	}

	/**
	 *  过滤样式文件,防止被非法下载
	 * (通过抓包工具(如:HttpWatch)可以破解该方法)
	 */
	public void doFilter(ServletRequest arg0, ServletResponse arg1,
			FilterChain arg2) throws IOException, ServletException
	{
		HttpServletRequest request = (HttpServletRequest)arg0;
		
		//获得上一访问的地址
		String referer = request.getHeader("referer");
		
		/** Cookie验证 **/
		Cookie[] cookies = request.getCookies();
		String v = null;
		for(int i = 0; cookies != null && i < cookies.length; i++)
		{
			String n = cookies[i].getName();
			if(n.equals("FURL"))
			{
				//读出URL并解密
				v = cookies[i].getValue();
			}
			else
				continue;
		}
		Object oFurl = request.getSession().getAttribute("FURL");
		//如果值不一致,说明错误,直接返回空
		if(v == null || oFurl == null || !v.equals(oFurl.toString()))
		{
			System.out.println("非法下载,已被拦截");
			return;
		}
		/** Cookie验证结束 **/
		
		//如果是从本站访问,那么可以下载,否则不可下载
		if(referer != null && referer.startsWith("http://localhost:8080/"))
		{
			//禁止IE缓存,否则还是可以下载
			HttpServletResponse response = (HttpServletResponse)arg1;
			response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
			response.setHeader("Pragma","no-cache"); //HTTP 1.0
			response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
			
			arg2.doFilter(arg0, arg1);
		}
		else
		{
			System.out.println("非法下载,已被拦截");
		}
	}

	public void init(FilterConfig arg0) throws ServletException
	{
		
	}

}
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    C#单文件上传

    例如,可以使用`Path.GetInvalidFileNameChars()`方法过滤非法字符,并检查文件扩展名是否在允许的列表内。 总结,通过结合HTML控件、JavaScript和C#后端代码,我们可以实现一个单文件上传功能,它既隐藏了上传控件...

    网站下载工具

    2. **链接过滤**:为了防止不必要的文件被下载,工具会提供链接过滤选项,允许用户设置排除某些特定链接,如广告、外部链接或者无关页面。 3. **自定义下载范围**:用户可以根据需要选择下载整个网站,或者只下载...

    网站源码下载器

    1. **全站下载**:网站源码下载器能够扫描并下载整个网站的所有相关页面,包括子页面、图片、样式表、脚本文件等,构建出一个完整的本地副本。 2. **自定义深度**:用户可以根据需求设定下载的深度,即网站的多少...

    设计器授权文件.zip

    在IT行业中,授权文件通常包含了一串序列号或者激活码,它是软件开发商为了防止盗版和非法复制,对软件进行加密的一种方式。快逸报表设计器的授权文件可能是以文本文件(.txt)、注册表文件(.reg)或特定格式的二...

    asp.net mvc+Bootstrap Fileinput框架实现的文件上传

    - 安全性:确保过滤非法文件类型,防止恶意文件上传。 - 错误处理:提供错误提示,如文件过大、类型不符等。 - 性能优化:考虑批量上传性能,避免内存溢出。 以上是关于"asp.net mvc+Bootstrap Fileinput框架...

    Teleport.Pro网站整站下载器

    4. **资源过滤**:Teleport Pro允许用户过滤掉某些类型的文件,如大尺寸图片或非必要的脚本,以节省存储空间。 5. **时间调度**:可以设置定时下载任务,避免在高峰时段占用网络带宽。 6. **断点续传**:如果下载...

    css图片下载软件

    对于网页开发者来说,了解CSS图片下载软件的工作原理可以帮助他们更好地理解如何保护自己的图片资源不被非法下载。例如,他们可以使用服务器端动态生成的图片URL,或者限制非正常访问的请求,以增加下载的难度。 总...

    对网站的静态页面自动下载

    使用此类工具时应注意遵守网站的robots.txt文件规定,尊重网站的隐私政策和版权,避免非法下载或滥用服务。 9. **安全考虑** 下载的网页可能存在恶意代码,因此在运行本地副本时应保持警惕。此外,某些网站可能...

    Mollify(Web文件管理器) v2.2.9.zip

    8. **文件上传**:支持多文件同时上传,可以设置上传大小限制以及文件类型过滤,防止非法或大文件的上传。 9. **国际化支持**:Mollify可能支持多语言界面,方便全球用户使用。 10. **文档支持**:"说明.htm"文件...

    [上传下载]南京同庆水若寒开发的下载系统_downjsp.zip

    这些可能包括:“Java Web开发”,“JSP”,“文件上传”,“文件下载”,“服务器端编程”,“Web应用架构”,“数据库交互”,“用户界面设计”,“安全控制”(如防止非法文件操作,确保数据完整性)。...

    PHP实现文件上传与下载

    文章提供了一个具体的案例,包括文件上传表单的构建、文件上传处理、文件下载链接的生成以及前端页面的样式设计。以下将逐步解析这些知识点。 ### 文件上传表单构建 首先,要实现文件上传功能,需要构建一个带有...

    SmartUpload上传及下载

    3. **文件类型检查**:允许开发者定义可接受的文件类型,防止非法文件上传。 4. **进度显示**:提供上传进度条,提升用户体验。 5. **错误处理**:当文件上传失败时,`SmartUpload`会返回详细的错误信息,便于调试。...

    网站整站下载器 v1.0

    9. **安全性**:使用下载器时,要注意遵守网站的使用条款和版权法规,不要非法下载受保护的内容。同时,下载器自身也应有安全防护措施,防止恶意代码的传播。 10. **后期维护和更新**:软件的持续更新和支持是保持...

    webuploader上传Demo实例源码下载

    例如,它可能检查文件类型、大小,防止非法文件上传,或者将文件保存到特定的目录下。服务器返回的值,正如描述中提到的,应该是关于上传状态的信息,比如文件是否成功保存、错误信息等,这些信息会被WebUploader...

    小飞兔仿站工具.zip

    3. **文件过滤**:用户可以设置过滤规则,例如排除某些类型的文件(如广告脚本或不相关的文件),确保下载的内容更为精炼。 4. **时间调度**:为了防止对目标网站服务器造成过大压力,工具可能支持定时下载,用户...

    网站整站下载器.

    4. **版权保护**:有些网站可能会被删除或更改,下载这些网站可以保存历史资料,防止信息丢失。 5. **开发和测试**:开发者可以下载网站进行离线分析和调试,避免对线上环境造成影响。 网站整站下载器的工作原理...

    asp.net版SwfUpload多文件上传

    7. **安全性**:使用SwfUpload时,需要考虑到文件上传的安全问题,比如防止非法文件上传、限制文件类型和大小,以及确保上传文件不会破坏服务器的安全性。ASP.NET提供了各种机制,如验证控件和自定义过滤器,来帮助...

    jsp读写文件留言板代码

    5. **优化与安全**:为了防止文件系统的滥用,我们可能需要添加一些验证和过滤机制,比如检查用户输入是否包含非法字符,避免文件路径注入攻击。此外,考虑到性能,可以考虑使用缓存或数据库存储留言,以提高读写...

    SwfUploadDome

    4. **安全措施**:确保上传的安全性,例如过滤非法文件类型、防止目录穿越攻击等。 SwfUploadDome项目为开发者提供了一个实用的参考模板,可以帮助快速搭建起一个高效的文件上传系统。通过深入理解和实践这个示例,...

    DZ源码程序3.2免费下载

    同时,使用安全的编程习惯,对用户输入进行过滤和验证,可以有效防止恶意攻击。 总的来说,DZ源码程序3.2虽然免费且功能强大,但其潜在的安全问题不容忽视。在搭建和运营论坛时,务必重视安全防护,确保用户的个人...

Global site tag (gtag.js) - Google Analytics