在Java Web应用程中,特别是网站开发中,我们有时候需要为应用程序增加一个入侵检测程序来防止恶意刷新的功能,防止非法用户不断的往Web应用中重复发送数据。当然,入侵检测可以用很多方法实现,包括软件、硬件防火墙,入侵检测的策略也很多。在这里我们主要介绍的是Java Web应用程序中通过软件的方式实现简单的入侵检测及防御。
该方法的实现原理很简单,就是用户访问Web系统时记录每个用户的信息,然后进行对照,并根据设定的策略(比如:1秒钟刷新页面10次)判断用户是否属于恶意刷新。
我们的入侵检测程序应该放到所有Java Web程序的执行前,也即若发现用户是恶意刷新就不再继续执行Java Web中的其它部分内容,否则就会失去了意义。这就需要以插件的方式把入侵检测的程序置入Java Web应用中,使得每次用户访问Java Web,都先要到这个入侵检测程序中报一次到,符合规则才能放行。
Java Web应用大致分为两种,一种纯JSP(+Java Bean)方式,一种是基于框架(如Struts、EasyJWeb等)的。第一种方式的Java Web可以通过Java Servlet中的Filter接口实现,也即实现一个Filter接口,在其doFilter方法中插入入侵检测程序,然后再web.xml中作简单的配置即可。在基于框架的Web应用中,由于所有应用都有一个入口,因此可以把入侵检测的程序直接插入框架入口引擎中,使框架本身支持入侵检测功能。当然,也可以通过实现Filter接口来实现。
在EasyJWeb框架中,已经置入了简单入侵检测的程序,因此,这里我们以EasyJWeb框架为例,介绍具体的实现方法及源码,完整的代码可以在EasyJWeb源码中找到。
该方法的实现原理很简单,就是用户访问Web系统时记录每个用户的信息,然后进行对照,并根据设定的策略(比如:1秒钟刷新页面10次)判断用户是否属于恶意刷新。
我们的入侵检测程序应该放到所有Java Web程序的执行前,也即若发现用户是恶意刷新就不再继续执行Java Web中的其它部分内容,否则就会失去了意义。这就需要以插件的方式把入侵检测的程序置入Java Web应用中,使得每次用户访问Java Web,都先要到这个入侵检测程序中报一次到,符合规则才能放行。
Java Web应用大致分为两种,一种纯JSP(+Java Bean)方式,一种是基于框架(如Struts、EasyJWeb等)的。第一种方式的Java Web可以通过Java Servlet中的Filter接口实现,也即实现一个Filter接口,在其doFilter方法中插入入侵检测程序,然后再web.xml中作简单的配置即可。在基于框架的Web应用中,由于所有应用都有一个入口,因此可以把入侵检测的程序直接插入框架入口引擎中,使框架本身支持入侵检测功能。当然,也可以通过实现Filter接口来实现。
在EasyJWeb框架中,已经置入了简单入侵检测的程序,因此,这里我们以EasyJWeb框架为例,介绍具体的实现方法及源码,完整的代码可以在EasyJWeb源码中找到。
Tags: 简单
在jdk中,File的操作并没有取得文件创建时间的方法。唯一提供提供的方法是lastModified()返回long值。牺牲创建时间的方法实在是为了满足跨平台的需要。但在windows环境中,需要取得文件创建时间的情况是存在的。
实现的办法是通过windows本地命令行来取得创建日期。以下代码主要参照http://forum.java.sun.com/thread.jspa?threadID=311281&messageID=1247450
实现的办法是通过windows本地命令行来取得创建日期。以下代码主要参照http://forum.java.sun.com/thread.jspa?threadID=311281&messageID=1247450
复制内容到剪贴板 程序代码
/*
* 著作権: Copyright (c) 2006
* 会社名:
* 著作権: Copyright (c) 2006
* 会社名:
1、大家购房所付的保险费其实是可以打八五折的,不要在售楼处买保单,外面的保险公司都可以为你打折。
2、现在高价房根本不用首付三成,但是你不要去找大银行,找像民生、浦发等小行,你完全可以办成8成贷款,四大银行每年都要被央行来查,所以他们很少违规,但小银行却可以不受限制。
3、开盘绝对没有好房子,好的房子全部被保留,然后每个月推出几套,但单价升得很快,要么就是你有关系,我们才给你好的房子。
4、广告没有一个是真的,千万别相信其中的外立面颜色,很多造出来比画的难看多了。
5、售楼员会用许多方法来逼你买房(业内叫SP),让你无时无刻感到紧张,这时你千万要冷静。要自己看中才买。
2、现在高价房根本不用首付三成,但是你不要去找大银行,找像民生、浦发等小行,你完全可以办成8成贷款,四大银行每年都要被央行来查,所以他们很少违规,但小银行却可以不受限制。
3、开盘绝对没有好房子,好的房子全部被保留,然后每个月推出几套,但单价升得很快,要么就是你有关系,我们才给你好的房子。
4、广告没有一个是真的,千万别相信其中的外立面颜色,很多造出来比画的难看多了。
5、售楼员会用许多方法来逼你买房(业内叫SP),让你无时无刻感到紧张,这时你千万要冷静。要自己看中才买。
复制内容到剪贴板 程序代码
public String html2Text(String inputString) {
String htmlStr = inputString; //含html标签的字符串
String textStr ="";
java.util.regex.Pattern p_script;
java.util.regex.Matcher m_script;
java.util.regex.Pattern p_style;
java.util.regex.Matcher m_style;
java.util.regex.Pattern p_html;
java.util.regex.Matcher m_html;
String htmlStr = inputString; //含html标签的字符串
String textStr ="";
java.util.regex.Pattern p_script;
java.util.regex.Matcher m_script;
java.util.regex.Pattern p_style;
java.util.regex.Matcher m_style;
java.util.regex.Pattern p_html;
java.util.regex.Matcher m_html;