题库系统需求文档_第1页
题库系统需求文档_第2页
题库系统需求文档_第3页
题库系统需求文档_第4页
题库系统需求文档_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

经典word整理文档,仅参考,双击此处可删除页眉页脚。本资料属于网络整理,如有侵权,请联系删除,谢谢!1.概述1.1项目背景活,题库系统应运而生,如:一起作业网、作业帮。1.2目的和范围本文档旨在明确题库系统具备的功能与性能,为本系统的设计和编程提供基础,工程师、UI设计师、产品运营专员、测试工程师。1.3总体要求实现一个能够线上线下相结合的试题、作业操作软件,使老师、学生、家长之间2.产品概要1生成作业试卷流程图作业布置流程图试卷布置流程图完成作业上传流程图完成试卷上传流程图批阅流程图作业、试卷反馈流程图角色参与和功能:3.1角色功能高高低高中高卷低高高低低高高高低高高高低低4.角色、权限6.1安全编码原则6.2基本开发安全规范6.2.1跨站点脚本(xss)防范。XSS的类型:反射型、存储型、DOM型。跨站点脚本防范的基本原则:一切的输入/输出都是有害的,不要信任任何输入/输出数据。所有传递过程都不能保障无侵入,执行前、存储前、显示前都要进行“数据清洗”。所有的数据校验、处理工作要在前端和服务器端两次进行。目前所有的XSS通过com.keegoo.core.util.XSSUtil来过滤。DOM-basedXSS的防范当操作页面中DOM对象的时候,要对其输入的参数进行处理,防止XSS的注入。可采用、encodeURI、encodeURIComponent或自定义方法进行处理。6.2.2防SQL注入规范。防SQL注入基本原则:所有用户输入都必须进行合法性校验。所有数据库SQL操作必须参数化。DBA限分级和审核。尽量使用PreparedStatement代替PreparedStatement的性能将优于使用,另外一方面,可以最大限度的减少SQL注入发生的可能行。用户提交的数据都应该做合法性校验,避免用户输入‘,,-,%,#,&,|,@,等有可能导致SQL注入的危险字符给系统造成危害。6.2.3页面组建安全防范。页面标签必须关闭,属性值必须加引号。在页面中使用的标签不关闭,属性值不加引号往往成为被攻击点,攻击者很容易的利用这些漏洞进行注入。避免这些漏洞的出现可以提高被攻击的可能。Form提交方式必须选用POST。Form默认的提交方式是Get,这种方式将表单中数据的按照variable=valueAction所指向的URL所要传递的信息量除受URL长度限制之外,信息内容都显示暴露。所有的非ASCII字符在URL中传递时都需要按照协商好的编码方式做URLencodeURI、encodeURIComponent或者自定义encode默认都返回UTF8编码的URL,区别在于encodeURI方法不会对下列字符进行编码:":"、"/"、";"和"?"。而encodeURIComponent则会对这些字符进行编码处理。尽量使用对象的innerText,不要使用innerHtml属性。对象的innerText属性默认会对输入的数据进行encode,使得如果数据的数据还有html可执行标记时不会直接执行,而如果使用innerHtml属性的话不会保障。输入框设置最大长度、输入数据类型限制。输入框一般是攻击者比较钟意的攻击对象,攻击者可以通过输入框限制不足的弱点进行数据窃取(比如SQL注入)、或者制造迫害(如比XSS)。我们可以通过对输入框最大长度、输入数据类型的限制,从一定程度上防范这样的攻击。我们可以根据实际需求,对一些输入框限定只允许输入字母、数字等。同时对输入的数据长度做限制。关闭客户端自动完成功能,减少驻留在客户端数据。security属性设置为restricted后,Frame中的脚本将不能执行(仅限于IE)。6.2.4敏感数据的安全防范。不能任意在中存放数据,对于这些对象中存放的数据,必须有统一定义、说明、Lifecycle的管理等。高安全性,我们要做到所有敏感信息必须进行加密处理,不能以明文的形式存在于任何网络、内存及其它持久化介质中(如:数据库、文件磁盘系统等)。所有的密码、key、帐号等机密信息都不能在URL中传递。所有的密码、key、银行账号等机密信息都不能存储到Cookie,Session、ServletContext中。防止信息泄漏:1.在系统上线使用的loglevel对应的日志输出中不允许包含任何密码、key、账号等机密信息。2.SVN集成分支上的代码中不允许存留可用的system.out/err.print语句。3.SVN集成分支上。4.不允许将系统产生的错误异常信息直接显示给用户,需要有统一的错误处理。尽量减少不必要的信息传递。在信息的传递过程中,如果当前Step中的对象、对象的属性、参数等在下一个Step中不需要,则不要再做传递,甚至可以显式的销毁。这样可以有效的减少信息被截获的机率,特别是敏感数据(例如用户密码、账户信息等等)。6.2.5.Web安全防范。Cookie的安全防范:1.存储于cookie中的敏感数据必须加密。2.3.4.没有特殊要求下,尽量使用会话cookie(非持久化)。如果使用持久化cookie应该设置cookie超时。激活cookiecookie只能在https连接中被浏览器传递到服务器端进行会话验证,如果是http连接则不会传递该信息。必须设置session的超时时间。必须构建统一的错误处理页面。多线程中线程安全的防范:1.尽量少用静态(static)变量和staticfinalconstants)。2.3.4.尽量多线程框架(java.util.concurrent)构建多线程同步机制。使用ThreadLocal避免多个线程之间类成员的共享冲突。如非必要,不要使用synchronized关键字。必须要使用synchronize

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论