【毕业设计】毕业论文(外发加密文件管理平台)

更新时间:2024-06-18 22:59:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

编号

本科生毕业设计(论文)

题目: 外发加密文件管理平台 学院计算机科学与技术专业

学 号 学生姓名 指导教师

二〇一 年 月

摘要

摘 要

我们常形容发出的文件就好比“断了线的风筝”,可以随意被扩散和拷贝,无法再进行控制.设计方案、客户资料、合同文本、财务数据等机密文件都是需要进行重点保护的对象.使用外发加密文件的软件则可以对外发的文件进行阅读权限的控制.本文设计的是结合后台与控制界面的针对外发加密文件的管理平台.该系统最初有两种角色,对应两类权限:管理员以及普通用户.管理员可以对系统进行编制管理:首页的设置、菜单的增删改、公告通知的发布以及管理、数据库的优化以及备份;可以编辑用户及用户权限;可以对账户充值并查看用户消费明细等.而普通用户分为个人和企业用户,其消费方式又分为包月和按量消费.用户可在管理平台发送文件,而服务器会对用户发送的文件进行加密.用户还可对已发送的文件进行相应的监督和管理.例如查看文件的使用情况,更改文件策略等,并可以查看自己所有的充值和消费明细.它将谨慎的后台加密与完善的控制界面结合,功能强大,使得整个企业在有法可依的智能化保护中.

关键字:加密;权限;文件策略;智能化

I

Abstract

ABSTRACT

The files that were sent out are always out of the sender’s control, they could be easily spread out without the owner’s awareness. Such confidential files like customer’s information, SOW or Contract, financial data and design documents etc. should be carefully protected. The OFEM (Out File Encrypted Management) system could resolve this problem by the constraining the reading permission of the files which were sent out. This article consist the design on the management platform and service of OFEM system. OFEM system have two role: Administrators and Users. Administrators is responsible to maintain and customize the system: Home page configuration, menu management, notice editing and publishing, database tuning and backup, system patches etc. Administrators also could maintain the permission for each role and users, refill user’s account and view the consumption history. There are two kind of users: individual users and enterprise users. User could choose to be charged per month or per file. Users could manage and review the files they sent out: view files usage, change file security policy, deposit their account and view consumption history. OFEM system integrate the user interfaces and server’s encryption together seamlessly to help the users, especially enterprise users, to protect files that contains their confidential data.

Keywords: encryption; seamlessly; security; confidential

II

目录

目 录

第1章 绪论 ............................................................................................................. 1

1.1 市场意义 .............................................................................................................................. 1

1.1.1 国内市场意义 .....................................................................................................................................1 1.1.2 国外市场意义 .....................................................................................................................................1

1.2 目的 ...................................................................................................................................... 1 1.3 主要解决问题 ...................................................................................................................... 1 1.4 主要技术 .............................................................................................................................. 1

第2章 系统需求分析 ............................................................................................. 3

2.1 系统应用图 .......................................................................................................................... 3 2.2 需求目标 .............................................................................................................................. 3 2.3 系统流程图 .......................................................................................................................... 4 2.4 功能模块设计 ...................................................................................................................... 4 2.5 技术难点预估 ...................................................................................................................... 5

第3章 系统详细设计 ........................................................... 错误!未定义书签。

3.1 设计规定 .............................................................................................................................. 7 3.2 系统E-R图 .......................................................................................................................... 7 3.3 功能说明 .............................................................................................................................. 8

3.3.1管理员功能说明 ..................................................................................................................................8 3.3.2 用户功能说明 .....................................................................................................................................8

3.4 数据库关系图 ...................................................................................................................... 9 3.5 输入/输出项 ......................................................................................................................... 9

3.5.1 用户表 [T_USER] ..............................................................................................................................9 3.5.2 计费表[T_CHARGE] .......................................................................................................................10 3.5.3 充值消费记录表[T_RECHARGE] .................................................................................................. 11 3.5.4 文件外发表[T_FILEOUT] ............................................................................................................... 11 3.5.5 文件操作记录表[T_FLOG]..............................................................................................................12 3.5.6 系统日志[LOG] ................................................................................................................................12 3.5.7 系统菜单表[SYS_MENU] ...............................................................................................................13 3.5.8 用户角色权限表[SYS_MENU] .......................................................................................................13 3.5.9 公告通知表[NOTIFY] ......................................................................................................................13

第4章 系统功能实现 ........................................................................................... 15

4.1 系统管理员管理 ................................................................................................................ 15

i

目录

4.1.1 菜单管理 .......................................................................................................................................... 15 4.1.2 数据库管理 ...................................................................................................................................... 16 4.1.3 公告通知 .......................................................................................................................................... 17 4.1.4 用户检索 .......................................................................................................................................... 18 4.1.5 用户添加 .......................................................................................................................................... 18 4.1.6 角色和权限管理 .............................................................................................................................. 19 4.1.7 账户充值 .......................................................................................................................................... 20 4.1.8 消费与充值记录查询 ...................................................................................................................... 21

4.2 用户文件及账户管理 ........................................................................................................ 21

4.2.1 首页 .................................................................................................................................................. 22 4.2.2 个人设置 .......................................................................................................................................... 23 4.2.3 消费与充值记录 .............................................................................................................................. 24 4.2.4 文件发送 .......................................................................................................................................... 24 4.2.5 文件下载 .......................................................................................................................................... 25 4.2.6 文件信息查询及更改 ...................................................................................................................... 25

4.3 平台功能实现 .................................................................................................................... 27

4.3.1 外发文件加密 .................................................................................................................................. 27 4.3.2 更改用户消费类型 .......................................................................................................................... 27 4.3.3 记录操作日志 .................................................................................................................................. 27 4.3.4 记录文件日志 .................................................................................................................................. 28

第5章 关键技术分析 ........................................................................................... 29

5.1 MYSQL定时器EVENT .................................................................................................... 29 5.2 菜单管理权限 .................................................................................................................... 29 5.3 分页类 ................................................................................................................................ 32 5.4 文件加密解密 .................................................................................................................... 35 5.5 PHP脚本测试 ..................................................................................................................... 37

第6章 结论与展望 ............................................................................................... 38

6.1 结论 .................................................................................................................................... 39 6.2 不足之处及未来展望 ........................................................................................................ 39

6.2.1 不足之处 .......................................................................................................................................... 39 6.2.2 未来展望 .......................................................................................................................................... 41

参考文献 ................................................................................................................. 43 致谢 ......................................................................................................................... 44

II

外发加密文件管理平台

第1章 绪论

1.1 市场意义

1.1.1 国内市场意义

早已取代飞鸽传书、取代书信往来的网络市场使得各个企业间的交流合作更加顺畅和

便利.但是随着国内市场竞争的愈演愈烈,如何能够保证在这场谍战中安然若泰则成为每个站在风口浪尖的企业首先要关注的.保证商业机密不被第三方窃取,保障公司利益不被损害,是能够在快速发展的中国市场异军突起的基础保障. 1.1.2 国外市场意义

随着我国经济贸易的迅猛发展,越来越多的企业将业务拓展到了国外.同样,中国作为一个新兴的商业大国,也成为了更多国外资产家和金融产业投资与合作的对象.频繁的国际间网络沟通,其中的安全性是必然需要考虑的.外发文件管理是功能强大的外发文件安全管理助手,它可以有效地帮助企业用户编辑外发文件的使用策略,能够有效实施企业信息安全的各项举措,帮助保护公司的机密信息,对用户透明化整个外发文件的生命周期.为信息高速公路的安全畅通保驾护航.

1.2 目的

传统的加密软件缺乏一个良好的管理机制,用户不能够参与到已发送文件的后续进程中.但是文件在整个外发使用过程中,不同的人员会参与其中,如果不对外发文件的生命周期内进行记录,则很难保证外发文件的安全使用.使用一个完善的管理平台是对一个既有软件的更好的诠释,是对公司企业利益更好的维护.这里可以对信息安全中针对不同权限的人员作出不同的设定,并对通过一个统一的管理系统进行管理,整个流程规范且有据可循.

1.3 主要解决问题

本系统主要解决了管理平台的权限问题.作为信息安全的首要考虑问题,如何保证实现权限分明,该系统做了更好的解决.区别于传统的写入文件或页面的菜单项,本系统将菜单做成了动态管理.用户可根据需要提出需求,程序员编写相关代码,管理员只需在系统的菜单管理项添加菜单名称、编号以及路径即可完成.然后管理员需要在用户管理的权限编辑项对指定人员编辑其可视菜单选项.整个操作方便科学,保证了用户的信息安全,统一区别消费者,确保了系统有序且稳定地执行任务.

1.4 主要技术

本系统采用PHP作为主要的开发语言,结合HTML、CSS和Javascript,以WampServer为服务器开发环境,数据库使用MySql.在WampServer的集成环境中,开发windows下的动态网站项目.

1

江南大学学士学位论文

PHP是一个非常优秀的脚本语言,简洁、高效,随着4.0的发布,越来越多的人使用它来进行动态网站的开发,可以说,PHP已经成为最优秀的INTERNET开发语言之一,尤其对于那些需要能够快速、高效地开发中小规模的商业应用的网站开发人员,PHP是其首选的语言.但是随着PHP的应用的不断增多,对于这些应用缺乏统一的标准和有效的管理,因此,PHP社区很难象PERL社区的人们那样方便的共享彼此的代码和应用,因为PHP缺乏像CPAN那样的统一的代码库来分类管理应用的代码模块(熟悉PERL的人都知道,CPAN是一个巨大的PERL的扩展模块仓库,编写的应用模块可以放在CPAN下面的适当的分类目录下面,其他的人可以很方便地复用,当然,我们编写应用模块时候也需要遵守其中的准则.)

为此,PEAR就应运而生了,并且从4.04开始,随着PHP核心一起被分发. 该系统中主要使用了PEAR库中的函数.PEAR不仅仅是一个代码仓库,它同时也是一个标准,使用这个标准来书写我们的PHP代码,将会增强程序的可读性,复用性,减少出错的几率.

2

外发加密文件管理平台

第2章 系统需求分析

2.1 系统应用图

本系统采用B/S结构,通过Internet上的web服务器,完成后台客户端与前台控制界面的结合.B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件.只要有一台能上网的电脑就能使用,客户端零维护.系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了.而该系统就是充分实现了B/S的这个优势,使得系统的维护和升级变得更加简单,成本也大大降低.而且,相较于C/S架构,这样的系统更方便用户群使用.大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,所以,只要用户安装了浏览器,就可以使用我们的文件管理平台,发送以及管理自己的文件.

图2-1 系统应用图

2.2 需求目标

本系统目的是为给外发文件加密平台管理人员和使用用户便利.该系统除了提供快速的文件信息索功能和顺畅合理的充值消费流程.目标还包括: ? 界面设计友好美观; ? 信息分类清晰、准确;

? 改进管理和服务,实现对发送出的加密文件的全程数据信息跟踪;

? 建立高效的信息传输和服务平台,提高信息处理速度和利用率,保证数据查询的灵活

性;

3

江南大学学士学位论文

? 提供便捷的分页效果,为管理员提供真实且清晰明辨的数据信息; ? 提供灵活方便的权限设置功能,使整个系统的分工管理明确; ? 具有易维护性和易操作性.

2.3 系统流程图

系统完整功能流程为:用户提交账户申请->管理员添加用户并给该用户分配唯一账号

->用户使用该账号登录系统->用户更改个人信息及消费表项内容->用户交付金额->管理员为该用户充值->用户发送加密文件->用户管理加密文件->用户查看文件操作明细.

外发加密文件管理用户管理员用户提交注册申请更改个人信息管理员添加用户并为该用户分配一个唯一账号用户登录系统编辑菜单修改个人信息和计费表项数据库管理(备份、导入、导出)用户交付金额用户查看消费及充值明细管理员为该用户的账户充值Y公告通知管理(发布、编辑)用户余额是否足够?用户发送加密文件N用户操作外发文件编辑用户角色及权限系统发送邮件提醒用户充值用户查看文件操作明细查看用户消费充值明细 图 2-2 系统流程图

2.4 功能模块设计

系统主要有两个角色:管理员和普通用户.以下是这两个角色的功能模块设计:

4

外发加密文件管理平台

管理员系统管理用户管理账户管理菜单管理数据库管理公告通知管理用户检索用户添加角色及权限设置账户充值消费及充值明细查询

图 2-3 管理员功能模块设计

普通用户 个人设置账户管理文件管理文件详情用户详情密码修改日志查询消费及充值明细查询文件上传文件下载文件操作明细查询

图 2-4 普通用户功能模块设计

2.5 技术难点预估

本系统将采用PHP+Apache+MySQL的经典模式实现Web开发.PHP语言在进行网站建设方面体现了非常强大的功能.但是作为一种计算机语言来说,它同样存在不少的缺陷.

一个成长中的网站没有一个整体框架,最终会变成维护的噩梦.一个框架可以让很多

5

江南大学学士学位论文

工作变得简单.现在最流行的框架模型时MVC-模型,在其中表现层、业务逻辑和数据库访问都分离开了很多PHP网站不使用MVC-模型.他们甚至没有一个框架.甚至现在有一些PHP框架同时你都可以自己写一个,关于PHP的文章和手册没有提高框架的一个字.同时JSP开发人员使用像Struts的框架、ASP开发人员使用.net,看起来好像这些概念都广泛被PHP开发人员所了解.这就说明了PHP实际上到底是多专业.

而且,PHP模块都不是线程安全的.在几年前,Apache发布了Web服务器的2.0版.这个版本支持多线程模式,在这个模式下,软件一个一部分可以同时运行多个.PHP的发明者说PHP的核心是线程安全的,但是非核心模块不一定是.但是十次有九次,你想要在PHP脚本中使用这种模块,但这又使你的脚本不能合适Apache的多线程模式.这也是为什么PHP不推荐在Apache 2 的多线程模式下运行PHP.不良的多线程模式支持使PHP常被认为是Apache 2依然不流行的原因之一.

这里本人选择的是PHP5和WapServer集成服务器.PHP5相较于旧版本改善了部分函数的交叉或重复,并提供了专业的PEAR库供使用.同时,提供集成环境的WampServer减少了Apache加载PHP模块、PHP配置MySQL的复杂程序,化繁为简的将这三者自行配置,避免了后期使用中的混乱.

当然,只有这些还远不能克服整个系统的问题.在实现过程中,本人会将遇到的问题一一解决.

6

外发加密文件管理平台

第3章 系统详细设计

3.1 设计规定

该系统中,管理员需要为不同的用户创建唯一的账户,保证用户个体的独立性,从而保障用户权限以及文件使用者的信息安全;当用户发送文件时,确保该用户账户余额充足,否则发送失败;同时,系统需定期检查用户的账户余额,及时向余额不足或即将不足的账户发送充值提醒的邮件或公告.

区别于已往的菜单设置,该系统应以动态菜单的形式管理权限问题.依赖于用户角色设置的用户权限,可以明确去区分用户可访问系统的区域,保证外发文件的安全性以及该系统的可信赖性.

用户发送文件成功后,系统则采用严密的加密算法对其文件进行加密并保存在指定路径中.保存的文件以加密形式存在,确保第三方截取真实文件的不可行性.只有当用户下载后,算法自动补充密钥,用户可正常使用.

文件发送出后,用户依然可以全程监控该文件.比如该文件的使用次数、下载次数、共在多少台主机上使用过、还能使用多少天以及使用多少次.监控的同时,用户也需要有管理和操作该文件的权限和功能,这样,此文件的整个生命周期均在该用户的控制中,其安全性可见一斑.

考虑到用户的使用频率或成不规律状态,用户可能提出更改个人计费表项即消费方式.这是需要有一个操作可满足用户的这种需求.采取数据库JOB的方法,在MYSQL中写ENVENT,让更改操作统一在每月的凌晨定时执行.绑定在数据库的JOB排除了系统宕掉的影响,确保了事件的执行稳定性.

3.2 系统E-R图

图3-1 系统E-R图

7

外发加密文件管理平台

输出:系统记录该用户的修改密码的时间、IP及用户账号 3.5.7 系统菜单表[Sys_Menu]

表3-7 系统菜单表

MENU_ID MENU_NAME IMAGE

FUNC_CODE

类型 varchar varchar(32) Varchar Varchar(32)

备注

菜单编号 菜单名称 菜单图片路径 代码路径

[用来管理系统菜单] 操作流:

? 管理员编辑菜单

输入:编辑或者添加菜单及子菜单 输出:新的菜单列表

3.5.8 用户角色权限表[Sys_Menu]

表3-8 用户角色权限表

USER_PRIV PRIV_NAME FUNC_ID_STR

类型 int

varchar(32) text

备注

角色编号 角色名称

角色权限(对应菜单编号,多个以‘,’连接)

[用于记录系统的用户角色及相应权限] 操作流:

? 管理员添加用户角色:

输入:用户角色名称及角色编号(唯一) 输出:新的用户角色 ? 管理员编辑用户权限:

输入:指定用户角色的可是菜单项、 输出:用户登录时的系统状态 3.5.9 公告通知表[Notify]

表3-9 系统公告通知表

ID

TYPE_ID SEND_TIME SEND_NAME TITLE TOP STARTS ENDS

CONTENT

类型 int(11) Int(2) datetime varchar(32) Varchar(32) Int

datetime datetime Text

备注

主键

类型(1:公司公告;2:用户通知) 发布时间 公告通知名 标题 优先级

有效开始时间 截止时间 内容

13

江南大学学士学位论文

续表3-9

STATUS UserName MEMBERS

类型 int(11)

Varchar(32) varchar(256)

备注

状态 发布者 接收者

[用于编辑公告通知] 操作流:

? 管理员管理公告通知

输入:查询、新建、编辑公告通知 输出:接收者查看公告通知

14

外发加密文件管理平台

第4章 系统功能实现

4.1 系统管理员管理

当需要使用该系统的用户向管理员提交申请后,管理员可通过用户添加功能添加新用户以及新的管理员,主要存储普通用户的用户名称、用户类型(企业用户/个人用户)、联系电话、邮箱(用于通知)、计费表项等内容,默认密码为000000.新用户则可通过个人设置修改个人密码及个人相关信息.

管理员可以对菜单、公告通知、数据库等内容进行管理及相关操作,并可通过用户角色和权限的管理来编辑用户权限.在账户管理界面,管理员可以对用户的账户充值,并查看用户近期的充值及消费明细.

这是系统根据登录用户的角色判断出的权限菜单:

图4-1 管理员权限菜单

4.1.1 菜单管理

区别于传统的菜单设置,本系统中将菜单单独拿出作为可编辑项.相关内容如菜单ID、菜单名,路径等均保存在数据库中.相比静态写入页面的菜单项或者从XML文件中读取的数据,存入数据库中更方便程序员管理,更易实现权限控制.它明确区分了管理员和程序员的职责,增加用户的体验,同时也提高了系统的可拓展性.

根据用户需求,可向程序员提出新的要求,增加菜单及相关的功能实现代码.程序员则可根据要求定制其菜单.整个过程流畅便捷,实现了系统的拓展,提高了该平台的健壮性并增加了用户的满意度.

15

江南大学学士学位论文

? 增加菜单

图4-2 增加菜单

? 子菜单管理

图4-3 子菜单管理

4.1.2 数据库管理

可靠安全的数据库管理是一个系统稳定的基础,B/S的数据库信息是集中存放于服务器数据库的(本系统使用的是Mysql-6.0版本),且不需要像客户端一样要进行数据同步之类的操作,所以不用考虑其安全性问题.通过对数据库执行数据修复、数据导入、数据库优化、数据库备份的操作,管理员可以实时看到当前发生的所有业务,方便了快速决策,提高公司效益.

16

外发加密文件管理平台

图4-4 数据库管理

4.1.3 公告通知

一个良好的系统是能够实现管理员与用户交互的网站.在该平台,管理员可以通过公告通知与制定用户或全体用户(包括其他管理员)交互.在这里,管理员可对公告或者通知进行发布、查询、管理,而用户和其他用户可在登录首页看到最近的新闻或消息.实现实时性交互,并提高了系统的可用性.

? 公告通知管理

图4-5 公告通知

? 公告通知查询

图4-6 公告通知查询

17

江南大学学士学位论文

? 发布公告通知

图4-7 发布公告通知

4.1.4 用户检索

强大的用户查询功能可以实现管理员对当前系统使用状况进行实时监控.可分类查询出个人用户与企业用户的数量以及包月用户和按量发送的用户的数量等.查询字段为用户账号(用户的唯一标识)、真实姓名、用户类型(企业用户/个人用户)、消费类型(包月/按量计费)、用户状态、注册日期.方便各种类型统计.

图4-8 用户检索

4.1.5 用户添加

管理员可通过该选项添加管理员以及普通用户.

相较于添加管理员选项,普通用户多出用户计费表项,其中可选择消费类型,默认按量计费单价和包月单价.其他的表单填写均设置了数据验证,保证数据的真实性和可使用性,提高系统的可靠程度.

18

外发加密文件管理平台

图4-9 用户添加

? 添加管理员

图4-10添加管理员

? 添加普通用户

图4-11 添加普通用户

4.1.6 角色和权限管理

信息安全的首要即使权限问题.如何保证系统安全可靠,保证用户个人信息以及用户文件的安全性,是该系统着重控制实现的部分.在本系统中,默认角色有两种:管理员(即为超级管理员,系统内置)和用户.在这个选项中,管理员可添加根据需要添加新角色,比如将用户再细分为VIP和普通用户.同时,管理员还可分配角色的权限,保证操作内容不冲突,不越权,从而确保系统的整体安全.管理员勾选的权限即为菜单可见列表.

? 新建角色及角色管理

19

江南大学学士学位论文

图4-12 新建角色及角色管理

? 权限设置

图4-13 角色权限管理

4.1.7 账户充值

当用户账户余额不足时,系统会发送通知给该用户,提示其账户余额不足,请及时充值.当用户付账时,管理员需在账户充值页面对该用户的账户中充值.本系统支持多用户同时充值,同样可执行模糊查询得到多用户的账户列表.

20

外发加密文件管理平台

图4-14 账户充值

4.1.8 消费与充值记录查询

管理员可通过查询后获得指定用户或用户列表的消费和充值记录,从而实时监控该系统的资金流量和某一时间段内的使用率.有助于公司的业务提高.

? 查询结果

图4-15 查询用户消费充值记录

? 详细信息

图4-16 查询用户消费充值明细

4.2 用户文件及账户管理

当用户申请得到回应后,会获取一个账号和密码(默认为000000),账号为管理员添加,不可修改且具有唯一性.用户可使用该用户名和密码登录外发加密管理平台进行操作.

21

江南大学学士学位论文

首次登录,新用户需要通过个人设置修改个人密码及个人相关信息.

该平台对用户主要开放的功能是发送和下载外发文件以及对发送的文件进行跟踪或策略编辑;查看个人账户及消费明细等.而该平台主要存储的信息为用户的个人信息,包括账号密码、邮箱手机号码等沟通信息、用户角色及消费类型以及用户的充值和消费明细,重要的是存储文件发送者上传的加密文件及该文件的相关信息,包括该文件的保存路径、上传时间、上传者及其IP、上传时间、策略及状态被更改信息、被下载时间下载方等.如此详尽的记录存储保证文件的整个生命周期都处于用户的管理控制之中,提高文件的信息安全性,保证对用户履行的职责.

这是系统根据用户登录的角色给予的菜单项:

图4-17 普通用户登录权限菜单

4.2.1 首页

用户登录的首页会看到自己的账户情况以及最近的文件发送内容,在公告栏可以查看公司最近发送的公告通知或系统的提示(账户余额不足,请充值或修改密码的提示).这样保证用户实时看清自己的账户情况.

图4-18 用户登录首页

22

外发加密文件管理平台

4.2.2 个人设置

在该控制面板中,用户可以查看和编辑自己的用户信息,密码以及登录日志.用户信息的输入均经过JS验证,保证输入信息的真实性和可用性,提高系统的执行效率,保证系统运行正常.修改的密码不可与原密码重复且系统建议用户每隔三个月修改一次密码.通过日志查询,用户可看到每次登录时的IP地址,确保是本人或本企业登录.

图4-19 个人设置页面

? 用户信息

图4-20 用户信息编辑

? 修改密码

图4-21 用户修改密码

? 登录日志

23

江南大学学士学位论文

图4-22 用户查看登录日志 4.2.3 消费与充值记录

在该菜单选项中,用户可查看自己账户的历史记录,包括消费与充值的金额、时间以及操作后余额,并可看到总计金额,按量计数的用户可看到可打包的剩余数量.系统根据用户每次发送文件成功与否,结合用户的消费类型从该用户的账户中扣除相应金额,若金额不足,则发送失败;反之,在数据库中存储一条该用户的消费记录;当用户要求管理员对其账户充值并交付金额后,系统将会在数据库中保存这个用户的该条充值记录.

图4-23 用户查看充值与消费记录

4.2.4 文件发送

用户通过该选项向服务器发送文件,发送后系统将对其加密并保存在指定路径,等待接收方下载.加密时使用方法为PHP的经典加密方法,将有格式文件转换成字符流,然后在特定位置添加自定义字符串.相应的用户下载文件时,文件解析.这样保证了在服务器上时的文件是加密状态,即使被第三方恶意截取,也无法获取文件内容.所以,权限在该系统中相当重要.

24

外发加密文件管理平台

图4-24 用户上传外发文件

图4-25 外发文件发送中

4.2.5 文件下载

文件接收者与文件发送者沟通后,通过该平台登录,注意这里使用与发送者统一账户登录,故可下载文件只能限定为该用户,保障了其他用户的文件安全性.下载后,文件即被解密.本系统保证了各个用户之间的文件独立性,即可保证系统内文件的安全性.

图4-26 用户下载外发文件

4.2.6 文件信息查询及更改

文件发送出去后,具有一定的策略(默认为全部权限,即可下载、可粘贴、可复制、

25

江南大学学士学位论文

可截屏、可使用10次等).但是用户可能会根据具体情况限制使用策略,比如禁止截屏等,这时本系统就提供了这样一个功能,使用户控制该文件的使用,保证文件的生命周期均在用户的掌控之中.同时,该用户也可以控制文件的状态(可用或不可用),确保文件在危险期时不被其他人处理.这样的一个即时的更改操作和即时的查询操作,确保满足了用户的需求,并保证了网络信息的安全性.

? 查询文件

图4-27 用户查询外发文件

? 文件信息

图4-28 用户外发文件列表

? 更改策略

图4-29 用户更改指定文件的外发策略

26

外发加密文件管理平台

4.3 平台功能实现

4.3.1 外发文件加密

当用户提交上传文件的申请并发送文件成功后,本管理平台将对该文件内容进行加密.加密文本格式不限,主流格式均支持.加密后的文件以打乱的字符流形式存在.当用户下载时,文件解密.由于把动态密钥保存在密文里,保证了即使是同样的明文,加密后也会得到不同的密文.

图4-30 被加密的文件

4.3.2 更改用户消费类型

为满足用户消费类型的更改需求,系统提供了相应的措施.当用户提交申请后,系统将记录该信息,即对该用户的计费表项中的order字段设置标记(数据库中记录为1标识用户提出更改需求).当该月结束后,用户申请即生效.本系统采用MySQL中的定时器来完成该操作,即在Event中写入JOB定时执行(数据库中JOB定为每月凌晨定时执行),具体执行的SQL语句是更新有标识字段的用户计费类型,如原本为包月的更改为按量计费,而按量计费的用户更改为包月消费.

图4-31 修改用户消费类型

4.3.3 记录操作日志

27

江南大学学士学位论文

管理员或者普通用户登录系统时,系统会自动记录该用户的IP地址以及操作内容,如登录或者更改用户密码.用户可查看历史记录,这也是信息安全的一种体现.

图4-32 用户修改密码日志

4.3.4 记录文件日志

文件发送后,为满足其生命周期在用户控制和安排中,系统会自动记录该文件的操作记录,包括使用者、使用者IP地址、操作内容以及计算该文件的剩余使用次数等.

图4-33 文件操作日志

28

外发加密文件管理平台

第5章 关键技术分析

5.1 MySQL定时器EVENT

本系统需要用到Event的操作执行用户编辑项.当用户提交修改消费类型,比如包月用户想要改为按量计费或者按量计费的用户想转为包月需要在每个月的特定时间执行.为保证执行的必然性,排除系统不稳定性,故将该事物写入数据库中.MySQL从5.1开始支持event功能,类似oracle的job功能.有了这个功能之后我们就可以让MySQL自动的执行数据汇总等功能,不用像以前需要操作的支持了.如linux crontab功能.Andrey Hristov 先生在完成他的硕士论文的时候为MySQL 5.1 增加了“事件”的特性,作为开发者,我们都很喜欢这个特性.而现在Andrey Hristoy 也已经来到MySQL工作了,令人振奋,MySQL 5.1 也越来越稳定了,版本号也由“Beta”变成了“Alpha”,因此我们可以尝试使用这个“事件”特性来进行一些真正的工作了.

? 查看是否开启定时器

SHOW VARIABLES LIKE '%sche%'; ? 开启定时器 0:off 1:on

SET GLOBAL event_scheduler = 1;

//数据库的event中写入的是每月一号凌晨执行以下操作: set global event_scheduler = 1 ;

CREATE EVENT MyEvent1

ON SCHEDULE EVERY 1 mounth starts(2011-11-01 00:00:00) DO

//更改有标记字段的包月消费者为按量计费

update T_Charge set ExpenseType=1 where ExpenseType=2 and Ordering=1; CREATE EVENT MyEvent2

ON SCHEDULE EVERY 1 mounth starts(2011-11-01 00:00:00) DO

//更改有标记字段的按量计费者为包月

update T_Charge set ExpenseType=2 where ExpenseType=1 and Ordering=1; set global event_scheduler = 0 ; drop EVENT MyEvent ;

5.2 菜单管理权限

通过将菜单项保存在数据库而非是XML等文件中或者静态页面,从而用菜单编号来管理用户权限是本系统的亮点.并且能够动态管理菜单,也大大提高了系统的可扩展性和可壮大性,更是从基础上保证了系统的稳定性.

当添加新的主菜单时,输入的菜单编号必须是唯一的,即在数据库中没有该项,然后在主菜单下添加子菜单,该子菜单的编号前两位直接继承主菜单的编号,即生成为4位的

29

江南大学学士学位论文

子菜单编号.这样当显示时,根据主菜单的编号即可找到相应的子菜单项. 这里用到的JS代码为:

Top