外发加密文件管理平台
第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