找回密码
 立即注册
首页 资源区 代码 EAR_v3 《浮声三》 智能化图书管理系统

EAR_v3 《浮声三》 智能化图书管理系统

峰襞副 3 天前
EAR_v3 《浮声三》

搭建于 Actix_Web 框架下的智能化图书管理系统

本项目的前身是 《Rusty_Borders 危墙》 的 在线控制系统 部分,经过大量开发工作和重构,现作为常规项目发布。
自 2024 年 10 月项目确立,作者进行了大量的开发和修改,后经广泛测试,现已投入部署。
示例网站:欢迎

本项目最初采用 Iron_Web 框架开发,但由于该库长时间停止维护,导致其对其他库的兼容性大大降低,并且性能和技术成熟度尚有不足。
是此版本采用 Actix_Web 作为网站主框架,带有 redis-session 组件的 Actix_session 库作为网站 Token 交互库。
本项目遵循GPL v2.0协议。
本项目在设计之初被规划为一个智能化图书管理系统,基于 Rust 语言,依赖库包括 Actix_Web、Tokio、OpenSSL 等。
本项目不是云原生。
本项目包括前端部分、后端部分和数据库部分。
本项目实现的交互性功能:(详见下文)

  • 用户注册、登录、注销、修改个人信息等。
  • 借阅、归还图书等。
  • 单会话登录。
  • 验证码机制。
  • 邮件机制。
  • 集中会话检查。
本项目无成熟的部署程序,若使用硬编码则会出现兼容性问题,而配置文件会使项目安全性降低。
有任何意见或建议请联系作者:kjx52@outlook.com
*注:第 0.10.1 版本的 Actix_session 库所依赖的 Redis 部分有兼容性问题,请自行更改软件树
项目信息

版本:2.1.2
作者:Jessarin000 ,本名 Kjx52 ,现名 Skiner, 独立开发者
发布日期:2025/2/25
项目地址:EAR_v3
本项目开发环境为 Windows 11、Windows Server 2022 Datacenter。
本项目开发使用 1.84.0 版本的 Rust 编译器。
截至布前,本项目共经过 2 次公测, 5 次大型测试,262 次小型测试。通过率为 92.3%。
发布前,本项目已修复了所有已知 Bug。
本项目属于常规项目。
作者尽力确保其安全性,但因水平有限,若是百密之中有所纰漏,还望各位告知本人。
作者联系方式: kjx52@outlook.com。
*本项目会使用到一些隐私数据,用户应根据本地环境进行修改。
1.png

浮声三 标志性徽标
更新日志:项目内容与亮点

经过一个月紧锣密鼓的开发后,是此版本在健壮性、性能、安全性、兼容性和灵活度上都有了长足的进展。
本项目的亮点包括:

  • 奉行“左移安全”原则 由于作者拥有安全开发的背景,故在该网站设计之初就将其安全性考虑了进去。
  • Actix_Web框架和Tokio的强大性能 在Rust开发环境下,各类库都能拥有很高的性能,而前文所提道的两位无疑是它们当中的强者,拥有其他框架无可比拟的成熟度和广度。
相较于 EAR_v3_1.4.8 ,是此版本进行的重大更新有:

  • 引入Redis: 在服务器运行过程中,服务器状态会无可避免地逐渐增大,若是将其依旧 push 到运行内存中,则会严重影响网站性能,而面对不断更新迭代的用户数据,MySQL 又会显得力不从心。是此版本使用高
    速缓存的 Redis 服务来解决这个问题,并且整个运行体系也围绕着这个新的数据中心进行了一系列调整。
  • 实现了单会话机制: 是此版本使用 MySQL 作为长期存储的数据库,而 Redis 则用于缓存高交互的零碎数据。二级存储方案则应运而生,该计划不仅可以避免数据冲突、提高网站整体安全性、避免性能损耗,也同时
    实现了用户数据的跨设备迁移。
  • 更新了scope: 是此版本添加了用户注册和信息修改两大逻辑类,从 raw 数据过滤、到格式化 Redis 吞吐,再到邮件发送,共计 12 个模块。更新了模块交互机制,降低耦合度,改善兼容性。更新了路由分组,添加了几个中间件,可以更好地解析日志和用户请求。
  • 完善了身份验证机制: 在早期版本中,未持有有效 token 的用户访问 /access 路径下的页面均会被重定向至 login 页面,这显然不合理,是此版本使用 wrap 中间件的集中身份检查策略来应对这一点。在此版本中,中间件会检查用户请求 URL,若无权访问,则响应 login 界面,登陆后则直接导向原请求 URL 处。
  • 取消了GET参数: 对于大多数网站来说,GET参数是必不可少的,这也造成了大量的安全漏洞,是此版本使用嵌入式网站路径进行改进。
  • 随机路径填充邮件地址: 出于安全性考量,是此版本使用随机生成的 32 位字符串作为邮件链接路径,Actix_Web 的路由管理机制完全有能力将该路由进行妥善处理。
  • 删除了WebSocket模块: 该模块几乎可以肯定会对网站安全性造成威胁,并且由于作者功底太薄,无法对其进行优化,故最终废弃。该模块原先被用于在用户信息更新时向前端推送变更数据。
  • 实现了SSL加密传输: 是此版本使用 HTTPS 进行数据传输,增加安全性。
  • UI界面美化: 修复了许多 UI 错误,重制和美化了一些界面,包括独具特色的 Err 和 404 界面。
  • 函数优化、Bug修复: 拆分和重组了众多函数,修复了大量 Bug ,更新了软件树。
下一版本(绝对不可能有)作者或许将着手于云原生。
一些截图

2.png

浮声主界面
3.png

浮声注册界面
4.png

邮件已发送
5.png

邮件界面
6.png

浮声浏览界面
7.png

浮声详细信息界面
8.png

浮声用户个人信息界面
9.png

404 界面



10.png

浮声三配套启动器
11.png

详细信息页面后端显示
12.png

浮声三面对扫描器
本项目遵循GPL v2.0协议。

本项目允许使用者修改、移植并再发布源码,但“当你发布它的时候,请确保你的项目使用者享有你曾经拥有的所有权力”。
让我们看到你的创意
本项目或将推出 Linux 版本。
后记

这次的项目花了将近一个季度的时间才完成,寒假也没了
这也是作者第一次尝试全栈开发。
虽然很简陋,但下一个项目将会好很多。
并且至少我承诺的功能都实现了。
有任何问题、意见或建议请随时联系作者kjx52@outlook.com。
开学快乐;)





Jessarin000
2025-02-27 作

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册