`

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

阅读更多
/**
 *  过滤样式文件,防止被非法下载
 * (通过抓包工具(如: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
	{
		
	}

}
分享到:
评论
发表评论

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

相关推荐

    基于asp.net的网络硬盘

    35.自动过滤内容和禁传非法文件,防止不正当使用。 36.可针对不同等级,不同分组的用户设置进入时公告。 37.批量用户管理操作,群发短信/邮件,可对列表中的所有用户统一一次操作。 38.后台实时查看及管理用户上传...

    桃源网络硬盘.Net v4.6.zip

    34.自动过滤内容和禁传非法文件,防止不正当使用。 35.可针对不同等级,不同分组的用户设置进入时公告。 36.批量用户管理操作,群发短信/邮件,可对列表中的所有用户统一一次操作。 37.后台实时查看及管理用户...

    桃源网络硬盘.Net v5.5.rar

    自动过滤内容和禁传非法文件,防止不正当使用。 36.可针对不同等级,不同分组的用户设置进入时公告。 37.批量用户管理操作,群发短信/邮件,可对列表中的所有用户统一一次操作。 38.后台实时查看及管理用户上传的...

    桃源网络硬盘.Net v5.8.zip

    35.自动过滤内容和禁传非法文件,防止不正当使用。 36.可针对不同等级,不同分组的用户设置进入时公告。 37.批量用户管理操作,群发短信/邮件,可对列表中的所有用户统一一次操作。 38.后台实时查看及管理用户...

    桃源网络硬盘ASP.NET版

    35.自动过滤内容和禁传非法文件,防止不正当使用。 36.可针对不同等级,不同分组的用户设置进入时公告。 37.批量用户管理操作,群发短信/邮件,可对列表中的所有用户统一一次操作。 38.后台实时查看及管理用户上传...

    桃源网络硬盘.Net v5.4 for .net 2.0/3.0/3.5

    35.自动过滤内容和禁传非法文件,防止不正当使用。 36.可针对不同等级,不同分组的用户设置进入时公告。 37.批量用户管理操作,群发短信/邮件,可对列表中的所有用户统一一次操作。 38.后台实时查看及管理用户上传...

    桃源网络硬盘v5.8

    35.自动过滤内容和禁传非法文件,防止不正当使用。 36.可针对不同等级,不同分组的用户设置进入时公告。 37.批量用户管理操作,群发短信/邮件,可对列表中的所有用户统一一次操作。 38.后台实时查看及管理用户上传...

    桃源网络硬盘.Net5.5

    35.自动过滤内容和禁传非法文件,防止不正当使用。 36.可针对不同等级,不同分组的用户设置进入时公告。 37.批量用户管理操作,群发短信/邮件,可对列表中的所有用户统一一次操作。 38.后台实时查看及管理用户上传...

    桃园网络硬盘4.2

    32.自动过滤内容和禁传非法文件,防止不正当使用。 33.可针对不同等级,不同分组的用户设置进入时公告。 34.批量用户管理操作,群发短信/邮件,可对列表中的所有用户统一一次操作。 35.后台实时查看及管理用户...

    桃源网络硬盘.Net v5.2

    自动过滤内容和禁传非法文件,防止不正当使用。 36.可针对不同等级,不同分组的用户设置进入时公告。 37.批量用户管理操作,群发短信/邮件,可对列表中的所有用户统一一次操作。 38.后台实时查看及管理...

    PHP程序开发范例宝典III

    由于权限有限,分3部份下载 PHP程序开发范例宝典 内容提要 《PHP程序开发范例宝典》全面介绍了应用PHP进行网站开发的各种技术和技巧。《PHP程序开发范例宝典》分为20章,内容包括PHP的运行环 境配置、表单及表单...

    桃源网络硬盘-.net

    35.自动过滤内容和禁传非法文件,防止不正当使用。36.可针对不同等级,不同分组的用户设置进入时公告。37.批量用户管理操作,群发短信/邮件,可对列表中的所有用户统一一次操作。38.后台实时查看及管理用户上传的...

    桃源网络硬盘官方版.Net v5.7

    35.自动过滤内容和禁传非法文件,防止不正当使用。 36.可针对不同等级,不同分组的用户设置进入时公告。 37.批量用户管理操作,群发短信/邮件,可对列表中的所有用户统一一次操作。 38.后台实时查看及管理用户上传...

    创易CreateEasy CMS V1.0 SP7.rar

    高效率页面与标签缓存机制:所有模板样式以缓存文件形式预先加载,有利于提高系统反应速度,降低系统消耗的资源; 5、模板自由化设计,系统通过所提供的模板标签与控制标签的结合使用,可为用户提供完全自由的界面...

    桃源网络硬盘.Net v4.3

    31.自动过滤内容和禁传非法文件,防止不正当使用。32.可针对不同等级,不同分组的用户设置进入时公告。33.批量用户管理操作,群发短信/邮件,可对列表中的所有用户统一一次操作。34.后台实时查看及管理用户上传的...

    nowshop45-网店源码整站下载

    ○独创在线修改后台目录,在线修改数据库文件名(智能同步修改数据库连接文件),数据库在线备份、压缩、下载、上传、恢复等。维护网站从此可完全抛开FTP了。 ○支持多管理员,不同管理员可设置不同权限。 ○访问...

    创易CreateEasy CMS V1.0 SP4

    高效率页面与标签缓存机制:所有模板样式以缓存文件形式预先加载,有利于提高系统反应速度,降低系统消耗的资源; 5、模板自由化设计,系统通过所提供的模板标签与控制标签的结合使用,可为用户提供完全自由的界面...

Global site tag (gtag.js) - Google Analytics