XssAPP开源,Xss跨站脚本攻击测试平台(JAVA开发) BY:WebSOS

来源:互联网 发布:linux查看javahome 编辑:程序博客网 时间:2024/06/06 15:52


XssAPP开源,Xss跨站脚本攻击测试平台(JAVA开发)

发布时间:2016-05-29 03:35编辑:admin 浏览(2435)类别:编程开发


    XssAPP 一套针对Xss跨站脚本攻击的专业测试平台

    开源日期:2016-05-29

    开发者:WebSOS

    开发时间:2015年下半年

    开发语言:JAVA

    使用技术:Spring Hibernate 反射技术

    说明:本程序源码一切权益归WebSOS所有,他人不得随意修改与转卖,本程序仅做技术交流,切勿用于非法途径

    链接: http://pan.baidu.com/s/1kUWVkXp 密码: 885i 

    文档说明:

      XssAPP系统设计说明书
    (v1.0)
      文 档 信 息文档名称:Xss平台系统需求设计说明书电子文档:Xss平台系统需求设计文档 /Microsoft WORD 2000版本号:1.0密级:保密文档状态:□ 草    稿    ■ 正式发布    □ 正在修改编写人:WebSOS日期:2016-1-29    
    目 录
    1    总则... 5
    1.1  编写目的... 5
    1.2  读者对象... 5
    1.3 业务背景... 5
    1.4 平台简介... 5
    1.5 攻击分类... 5
    1.6 扩展类型... 5
    1.7 漏洞危害... 6
    1.7.1 三部曲... 6
    1.7.2 攻击事件... 6
    1.7.3 下一代... 6
    1.8 漏洞预防... 6
    1.9 XSS防御规则... 7
    1.9.1 No.1. 7
    1.9.2 No.2. 7
    1.9.3 No.3. 8
    1.9.4 No.4. 8
    1.9.5 No.5. 9
    1.9.6 No.6. 9
    1.10           业务需求... 9
    1.11           技术说明... 10
    1.12       术语与缩写... 10
    2    概述... 10
    2.1  设计目标... 10
    2.2  系统局部截图... 11
    3    数据表结构... 24
    1)        用户信息表 user. 24
    2)        模块表 module. 24
    3)        项目表 project 25
    4)        信封表 letter. 25
    5)        信封内容表 letter_paras. 26
    6)        系统设置表 setting. 26
    7)        邀请码表 invite. 27
    8)        后台管理表 admin. 27
    9)        后台角色表 role. 27
    10)      菜单表 menus. 28
    11)      邮箱表 email. 28
    12)      网站后缀表 suffix. 28
    13)      网站静态后缀表 suffix_static. 29
     

    1   总则

    1.1 编写目的

    主要基于以下目的编写此文档:
    1. 对整个系统项目设计阶段的任务成果形成文档。
    2. 对需求阶段的文档再次确认过程,对前一阶段需求没有做充分或错误的提出修改。
    3. 明确整个系统的功能框架和数据结构,为下一阶段的编码和测试提供参考依据。
    4. 明确编码规范和命名规范,统一程序界面。

    1.2 读者对象

    本文档的预期读者包括详细设计人员、开发人员、测试人员、项目经理及相关人员等。

    1.3   业务背景

    编辑
    网站中包含大量的动态内容以提高用户体验,比过去要复杂得多。所谓动态内容,就是根据用户环境和需要,Web应用程序能够输出相应的内容。动态站点会受到一种名为“跨站脚本攻击”(Cross Site Scripting, 安全专家们通常将其缩写成XSS,原本应当是css,但为了和层叠样式表(Cascading Style Sheet,CSS )有所区分,故称XSS)的威胁,而静态站点则完全不受其影响。

    1.4   平台简介

    编辑
    用户在浏览网站、使用即时通讯软件、甚至在阅读电子邮件时,通常会点击其中的链接。攻击者通过在链接中插入恶意代码,就能够盗取用户信息。攻击者通常会用十六进制(或其他编码方式)将链接编码,以免用户怀疑它的合法性。网站在接收到包含恶意代码的请求之后会产成一个包含恶意代码的页面,而这个页面看起来就像是那个网站应当生成的合法页面一样。许多流行的留言本和论坛程序允许用户发表包含HTML和javascript的帖子。假设用户甲发表了一篇包含恶意脚本的帖子,那么用户乙在浏览这篇帖子时,恶意脚本就会执行,盗取用户乙的session信息。有关攻击方法的详细情况将在下面阐述。

    1.5   攻击分类

    编辑
    人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets, CSS)的缩写混淆。因此有人将跨站脚本攻击缩写为XSS。如果你听到有人说 “我发现了一个XSS漏洞”,显然他是在说跨站脚本攻击。

    1.6   扩展类型

    编辑
    (1)持久型跨站:最直接的危害类型,跨站代码存储在服务器(数据库)。(2)非持久型跨站:反射型跨站脚本漏洞,最普遍的类型。用户访问服务器-跨站链接-返回跨站代码。(3)DOM跨站(DOM XSS):DOM(document object model文档对象模型),客户端脚本处理逻辑导致的安全问题。

    1.7   漏洞危害

    编辑
    为了搜集用户信息,攻击者通常会在有漏洞的程序中插入 JavaScript、VBScript、 ActiveX或Flash以欺骗用户(详见下文)。一旦得手,他们可以盗取用户帐户,修改用户设置,盗取/污染cookie,做虚假广告等。每天都有大量的XSS攻击的恶意代码出现。 Brett Moore的下面这篇文章详细地阐述了“拒绝服务攻击”以及用户仅仅阅读一篇文章就会受到的“自动攻击”。

    1.7.1    三部曲

    1.HTML注入。所有HTML注入范例只是注入一个JavaScript弹出式的警告框:alert(1)。
    2.做坏事。如果您觉得警告框还不够刺激,当受害者点击了一个被注入了HTML代码的页面链接时攻击者能作的各种的恶意事情。
    3.诱捕受害者。

    1.7.2    攻击事件

    “微博病毒”攻击事件
    回顾:
    2011年6月28日晚,新浪微博出现了一次比较大的XSS攻击事件。大量用户自动发送诸如:“郭美美事件的一些未注意到的细节”,“建党大业中穿帮的地方”,“让女人心动的100句诗歌”,“3D肉团团高清普通话版种子”,“这是传说中的神仙眷侣啊”,“惊爆!范冰冰艳照真流出了”等等微博和私信,并自动关注一位名为hellosamy的用户。
    事件的经过线索如下:
    20:14,开始有大量带V的认证用户中招转发蠕虫
    20:30,某网站中的病毒页面无法访问
    20:32,新浪微博中hellosamy用户无法访问
    21:02,新浪漏洞修补完毕

    1.7.3    下一代

    随着AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML)技术的普遍应用,XSS的攻击危害将被放大。使用AJAX的最大优点,就是可以不用更新整个页面来维护数据,Web应用可以更迅速地响应用户请求。AJAX会处理来自Web服务器及源自第三方的丰富信息,这对XSS攻击提供了良好的机会。AJAX应用架构会泄漏更多应用的细节,如函数和变量名称、函数参数及返回类型、数据类型及有效范围等。AJAX应用架构还有着较传统架构更多的应用输入,这就增加了可被攻击的点。

    1.8   漏洞预防

    编辑
    从网站开发者角度,如何防护XSS攻击?
    来自应用安全国际组织OWASP的建议,对XSS最佳的防护应该结合以下两种方法:验证所有输入数据,有效检测攻击;对所有输出数据进行适当的编码,以防止任何已成功注入的脚本在浏览器端运行。具体如下:
    输入验证:某个数据被接受为可被显示或存储之前,使用标准输入验证机制,验证所有输入数据的长度、类型、语法以及业务规则。
    输出编码:数据输出前,确保用户提交的数据已被正确进行entity编码,建议对所有字符进行编码而不仅局限于某个子集。
    明确指定输出的编码方式:不要允许攻击者为你的用户选择编码方式(如ISO 8859-1或 UTF 8)。
    注意黑名单验证方式的局限性:仅仅查找或替换一些字符(如"<" ">"或类似"script"的关键字),很容易被XSS变种攻击绕过验证机制。
    警惕规范化错误:验证输入之前,必须进行解码及规范化以符合应用程序当前的内部表示方法。请确定应用程序对同一输入不做两次解码。
    从网站用户角度,如何防护XSS攻击?
    当你打开一封Email或附件、浏览论坛帖子时,可能恶意脚本会自动执行,因此,在做这些操作时一定要特别谨慎。建议在浏览器设置中关闭JavaScript。如果使用IE浏览器,将安全级别设置到“高”。具体可以参照浏览器安全的相关文章。
    这里需要再次提醒的是,XSS攻击其实伴随着社会工程学的成功应用,需要增强安全意识,只信任值得信任的站点或内容。可以通过一些检测工具进行xss的漏洞检测,类似工具有亿思网站安全检测平台。针对xss的漏洞带来的危害是巨大,如有发现,应立即修复漏洞。

    1.9   XSS防御规则

    编辑
    下列规则旨在防止所有发生在应用程序的XSS攻击,虽然这些规则不允许任意向HTML文档放入不可信数据,不过基本上也涵盖了绝大多数常见的情况。你不需要采用所有规则,很多企业可能会发现第一条和第二条就已经足以满足需求了。请根据自己的需求选择规则。

    1.9.1    No.1

    – 不要在允许位置插入不可信数据
    第一条规则就是拒绝所有数据,不要将不可信数据放入HTML文档,除非是下列定义的插槽。这样做的理由是在理列有解码规则的HTML中有很多奇怪的context,让事情变得很复杂,因此没有理由将不可信数据放在这些context中。
     directlyinascript
       insideanHTMLcomment
       inanattributename
      <...NEVERPUTUNTRUSTEDDATAHERE...href="/test"/> inatagname
    更重要的是,不要接受来自不可信任来源的JavaScript代码然后运行,例如,名为“callback”的参数就包含JavaScript代码段,没有解码能够解决。

    1.9.2    No.2

    – 在向HTML元素内容插入不可信数据前对HTML解码
    这条规则适用于当你想把不可信数据直接插入HTML正文某处时,这包括内部正常标签(div、p、b、td等)。大多数网站框架都有HTML解码的方法且能够躲开下列字符。但是,这对于其他HTML context是远远不够的,你需要部署其他规则。
    ...ESCAPEUNTRUSTEDDATABEFOREPUTTINGHERE... 
      
    ...ESCAPEUNTRUSTEDDATABEFOREPUTTINGHERE...
      以及其他的HTML常用元素
    使用HTML实体解码躲开下列字符以避免切换到任何执行内容,如脚本、样式或者事件处理程序。在这种规格中推荐使用十六进制实体,除了XML中5个重要字符(&、<、 >、 "、 ')外,还加入了斜线符,以帮助结束HTML实体。
    &-->&
      <--><
      >-->>
      "-->"
      '-- >''isnotrecommended
      /-- >/forwardslashisincludedasithelpsendanHTMLentity

    1.9.3    No.3

    – 在向HTML常见属性插入不可信数据前进行属性解码
    这条规则是将不可信数据转化为典型属性值(如宽度、名称、值等),这不能用于复杂属性(如href、src、style或者其他事件处理程序)。这是及其重要的规则,事件处理器属性(为HTML JavaScript Data Values)必须遵守该规则。
    content insideUNquotedattribute
      content insidesinglequotedattribute
      content insidedoublequotedattribute
    除了字母数字字符外,使用小于256的ASCII值&#xHH格式(或者命名的实体)对所有数据进行解码以防止切换属性。这条规则应用广泛的原因是因为开发者常常让属性保持未引用,正确引用的属性只能使用相应的引用进行解码。未引用属性可以被很多字符破坏,包括[space] % * + , - / ; < = > ^ 和 |。

    1.9.4    No.4

    – 在向HTML JavaScript Data Values插入不可信数据前,进行JavaScript解码
    这条规则涉及在不同HTML元素上制定的JavaScript事件处理器。向这些事件处理器放置不可信数据的唯一安全位置就是“data value”。在这些小代码块放置不可信数据是相当危险的,因为很容易切换到执行环境,因此请小心使用。
     insideaquotedstring
       onesideofanexpression
       insideUNquotedeventhandler
       insidequotedeventhandler
       insidequotedeventhandler
    除了字母数字字符外,使用小于256的ASCII值xHH格式 对所有数据进行解码以防止将数据值切换至脚本内容或者另一属性。不要使用任何解码捷径(如" )因为引用字符可能被先运行的HTML属性解析器相匹配。如果事件处理器被引用,则需要相应的引用来解码。这条规则的广泛应用是因为开发者经常让事件处理器保持未引用。正确引用属性只能使用相应的引用来解码,未引用属性可以使用任何字符(包括[space] % * + , - / ; < = > ^ 和|)解码。同时,由于HTML解析器比JavaScript解析器先运行,关闭标签能够关闭脚本块,即使脚本块位于引用字符串中。

    1.9.5    No.5

    – 在向HTML 样式属性值插入不可信数据前,进行CSS解码
    当你想将不可信数据放入样式表或者样式标签时,可以用此规则。CSS是很强大的,可以用于许多攻击。因此,只能在属性值中使用不可信数据而不能在其他样式数据中使用。不能将不可信数据放入复杂的属性(如url,、behavior、和custom (-moz-binding))。同样,不能将不可信数据放入允许JavaScript的IE的expression属性值。
     propertyvalue
      text propertyvalue
    除了字母数字字符外,使用小于256的ASCII值HH格式对所有数据进行解码。不要使用任何解码捷径(如" )因为引用字符可能被先运行的HTML属性解析器相匹配,防止将数据值切换至脚本内容或者另一属性。同时防止切换至expression或者其他允许脚本的属性值。如果属性被引用,将需要相应的引用进行解码,所有的属性都应该被引用。未引用属性可以使用任何字符(包括[space] % * + , - / ; < = > ^ 和|)解码。同时,由于HTML解析器比JavaScript解析器先运行,标签能够关闭脚本块,即使脚本块位于引用字符串中。

    1.9.6    No.6

    - 在向HTML URL属性插入不可信数据前,进行URL解码
    当你想将不可信数据放入链接到其他位置的link中时需要运用此规则。这包括href和src属性。还有很多其他位置属性,不过我们建议不要在这些属性中使用不可信数据。需要注意的是在javascript中使用不可信数据的问题,不过可以使用上述的HTML JavaScript Data Value规则。
    link anormallink
       animagesource
       ascriptsource
    除了字母数字字符外,使用小于256的ASCII值%HH 解码格式对所有数据进行解码。在数据中保护不可信数据:URL不能够被允许,因为没有好方法来通过解码来切换URL以避免攻击。所有的属性都应该被引用。未引用属性可以使用任何字符(包括[space] % * + , - / ; < = > ^ 和|)解码。 请注意实体编码在这方面是没用的。
     
     
     

    1.10     业务需求

    1:用户对某个系统进行xss测试,需要在平台注册账户,并且新建模板>新建项目
    2:新建项目后会生成模板代码入口,用户可利用入口引入代码对第三方平台进行xss跨站脚本攻击测试
    3:当目标项目存在xss跨站脚本漏洞,入口地址需对用户代码所提交的参数进行收信处理
    4:当系统收到xss跨站脚本信封时,要把信封内容通过email方式发送给用户预设邮箱,予以提示作用
    5:用户可对模板、项目、信封、个人资料、密码进行插删改插之类管理操作
     

    1.11     技术说明

    本系统采用spring+hibernate框架编写,数据库连接池采用c3p0。缓存采用map结合timer。基于service使用AOP技术进行缓存绑定与实现。数据库采用mysql
     
     

    1.12  术语与缩写

       Spring一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架
    Hibernate 一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库
    C3P0 一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。
    AOP  Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术
    XSS 跨站脚本攻击(也称为XSS)指利用网站漏洞从用户那里恶意盗取信息。

    2   概述

     
     

    2.1 设计目标

    WEB端系统产品设计需要在技术、业务需求方面满足以下目标:
    1. 技术上
    设计相关的系统模块和框构。
    1. 业务需求
    在业务需求方面,满足WEB平台系统的业务需求。

    2.2 系统局部截图

    1. 系统首页http://xssapp.com/
    1. 注册页面http://xssapp.com/reg.esp
    1. 登陆页面http://xssapp.com/login.esp
    1. 修改资料http://xssapp.com/user/setting.esp
    1. 用户首页http://xssapp.com/user/index.esp
    1. 项目管理http://xssapp.com/user/index.esp
    1. 模板管理http://xssapp.com/user/loadUserModule.esp

    1. 信封管理http://xssapp.com/user/loadLetters.esp


    1. 修改密码http://xssapp.com/user/modifyPwd.esp
    1. 找回密码http://xssapp.com/resetPwd.esp
    1. 后台页面http://xssapp.com/admin/login.esp

     
    1. 后台首页http://xssapp.com/admin/index.esp
    1. 后台网站基本设置
    1. 后台网站后缀设置
    1. 发信邮箱管理
    1. 后台项目管理
    1. 后台模板管理
    1. 后台信封管理
    1. 后台用户管理
    1. 后台邀请码管理

    1. 管理员账号管理
    1. 角色管理

     
    1. 权限管理
     


     

    3  数据表结构

    1)  用户信息表 user

    字段名字段类型长度可空描述idInt11Not Null主键-Id-不可空user_namevarchar24Not Null用户名-不可空user_pwdvarchar40Not Null用户密码-不可空mobileVarchar20ssNull手机号码emailVarchar32Null邮箱create_timeTIMESTRESM NOT NULL注册时间uuidVarchar32NOT NULL唯一标识 
     
     

    2)  模块表 module

    字段名字段类型长度可空描述idInt11Not Null主键-Id-不可空user_idInt11Not Null用户IDtitlevarchar128Not Null模块标题remarkvarchar1024Null描述contentmediumblob16777216Not Null内容typeInt1Not Null类型,0系统模块,1用户模块update_timedatetime NOT NULL注册时间

    3)  项目表 project

    字段名字段类型长度可空描述idInt11Not Null主键-Id-不可空module_idInt11Not Null模块IDuser_idInt11Not Null用户IDtitlevarchar128Not Null项目标题remarkvarchar1024Null描述update_timedatetime Not Null创建/更新时间uuidvarchar32Null唯一标识urivarchar255Null引入网址sort_urivarchar255Null引入短网址open_mobileInt1Null是否开启手机收信,0关闭 1开启open_emailInt1Null是否开启邮箱收信,0关闭 1开启filter过滤来源地址1Null多个来源地址逗号分隔 

    4)  信封表 letter

    字段名字段类型长度可空描述idInt11Not Null主键-Id-不可空project_idInt11Not Null项目idref_urlvarchar1024Null来源地址update_timedatetime19Null更新时间uuidvarchar32Null唯一标识contextvarchar65535Null信封内容ipvarchar32NullIp地址

    5)  信封内容表 letter_paras

    字段名字段类型长度可空描述idInt11Not Null主键-Id-不可空letter_idvarchar1024Null信封IDpara_nameInt64Not Null参数名para_valuedatetime19Null参数值update_timevarchar32Null更新时间 

    6)  系统设置表 setting

    字段名字段类型长度可空描述idInt11Not Null主键-Id-不可空site_namevarchar1024Not Null网站名称keywordsvarchar1024Not Null关键字descriptionvarchar1024Null苗文本copyrightvarchar128Null版权letter_apivarchar255NullApi地址open_regInt1Not Null开启注册0关闭,1开启,默认0open_inviteInt1Not nul开启邀请码注册,0关闭,1开启 默认0 

    7)  邀请码表 invite

    字段名字段类型长度可空描述idInt11Not Null主键-Id-不可空invite_codevarchar32Not Null邀请码statusInt1Not Null状态,0已使用,1未使用user_idInt11Null注册用户update_timedatetime Not Null创建/更新时间exp_timedatetime Not Null到期时间 

    8)  后台管理表 admin

    字段名字段类型长度可空描述idInt11Not Null主键-Id-不可空user_namevarchar32Not Null用户名user_pwdvarchar32Not Null密码role_idInt11Not null关联role_id 

    9)  后台角色表 role

    字段名字段类型长度可空描述idInt11Not Null主键-Id-不可空namevarchar64Not Null角色名menusVarchar1024Null菜单ID集。逗号分隔

    10)    菜单表 menus

    字段名字段类型长度可空描述idInt11Not Null主键-Id-不可空titlevarchar64Not Null菜单名urlvarchar255Not Null菜单地址typeInt1Not Null菜单类型,0一级菜单,1二级菜单,默认0up_idInt11Not Null上级ID,关联本表IDseqInt11Null排序。值越小越靠前 

    11)    邮箱表 email

    字段名字段类型长度可空描述idInt11Not Null主键-Id-不可空smtpvarchar32Null服务器emailvarchar32Null邮箱账号passwordvarchar32Null密码bak_smtpvarchar32Null备用服务器bak_emailvarchar32Null备用邮箱账号bak_passwordvarchar32Null备用密码 
     

    12)    网站后缀表 suffix

    字段名字段类型长度可空描述idInt11Not Null主键-Id-不可空suffixvarchar32Not Null后缀statusvarchar32Not Null状态,0关闭,1开启,2默认 

    13)    网站静态后缀表 suffix_static

    字段名字段类型长度可空描述idInt11Not Null主键-Id-不可空suffixvarchar32Not Null后缀 

    4  项目源代码引导说明

     
    1. 源代码结构截图
    1. Spring mvc配置
    1. 数据源配置
    1. 事物管理
    1. Quartz定时器配置
    1. AOP缓存实现

    1. 后台权限拦截
    1. 源代码类说明
    4.1.1.1  com.xss.web.util工具类集合
    com.xss.web.util包
    CommonUtils 公共util操作方法封装工具
    Constants 系统枚举或常量存放点
    DateUtils  日期操作工具
    EmailSenderUtil 邮件发送工具
    EncryptionUtil  密码加密工具
    FileUtils 文件读写工具
    HibernateConfigurationUtil  hibernate常用操作工具
    HqlUtil  hql语句转换工具
    HTMLSpirit  html操作工具
    HttpUtil  http请求工具
    IPager  分页工具,接口
    JsonUtil  json测试工具
    JSONWriter  json转化工具
    JUUIDUtil uuid生成工具
    MsgEntity  系统消息容器
    PropresUtil 对象操作工具
    ReqJsonUtil 基于Gson的json操作工具
    RequestUtil  请求转化工具
    SpringContextHelper  spring对象池获取工具
    StringUtils  字符串操作工具
    UploadUtil  文件上传工具
    VerificationCodeUtil 验证码生成工具
     
     
    4.1.1.2  com.xss.web.annotation 注解合集
    CacheHandle  添加缓存注解
    DelCacheHandle 删除缓存注解
    UpdateCacheHandle 更新缓存注解,暂未使用
     
     
    4.1.1.3  com.xss.web.aspect aop层
    CacheAspect  基于AOP的缓存实现类
     
     
     
    4.1.1.4  com.xss.web.base基础公用层
    com.xss.web.base.cache 基础缓存实现
    com.xss.web.base.dao  hibernate持久层
    com.xss.web.base.page  分页对象实现
    com.xss.web.base.thread系统公用线程池
    com.xss.web.base.wrapper  xss跨站脚本防御容器
     
     
     
     
    4.1.1.5  com.xss.web.cache  缓存层
    com.xss.web.cache.base 基础缓存
    AdminCache 后台用户类
    EmailCache  发信邮箱操作类
    InviteCache  邀请码操作类
    LetterCache 信封管理类
    MenuCache 后台菜单类
    ModuleCache 模板类
    ProjectCache 项目类
    RoleCache 后台角色类
    SettingCache  网站设置类
    SuffixCache  网站后缀操作类
    UserCache  用户类
     
     
    4.1.1.6  com.xss.web.controllers controller层
    com.xss.web.controllers.base公用controller父类
    AdminController 后台管理操作类
    Controller 前台首页与周边功能类
    Scontroller  收信类
    UserController  前台会员操作类
    4.1.1.7  com.xss.web.entity 工具对象与系统对象类
    HqlEntity  hql对象
    HttpEntity   http对象
    MsgEntity 系统消息机制容器
    PropresEntity  反射常用对象
    Record  map封装容器
    SimpleConcurrentMap  map封装缓存容器
    ThisWhere   hql where条件对象
    Where   hql where条件对象
     
     
    4.1.1.8  com.xss.web.filter  过滤器层
    AdminFilter 后台管理过滤器,包含权限拦截,菜单加载等
    BaseFilter 基础信息过滤器,包含项目基础地址加载
    SuffixFilter 后缀过滤器,实现系统可控设置后缀或伪静态
    UserFilter  用户过滤器,用户身份拦截
    XssFilter  预防xss跨站脚本攻击对本系统造成的隐患
     
    4.1.1.9  com.xss.web.model  系统实体对象 (hibernate生成)

     
     
    4.1.1.10    com.xss.web.service  service层

     
     
    4.1.1.11    com.xss.web.task 定时器
    EmailInitTask  发信邮箱状态激活定时器
     

0 0
原创粉丝点击