构建登录日志系统:Node.js+ExcelJS

admin 2026-03-12 22:13:55 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档介绍了一种基于Node.js与ExcelJS构建登录日志系统的方法,旨在实时记录用户登录信息并生成Excel报表。内容涵盖技术选型、架构设计及核心功能实现,如获取真实IP、Excel样式处理与追加写入等,并提供了完整的工作流程与实现效果图。该方案有助于安全审计与日志管理,适合安全开发人员参考。 综合评分: 70 文章分类: 安全开发,安全工具,安全建设,解决方案


cover_image

构建登录日志系统:Node.js + ExcelJS

原创

Komorebi Komorebi

Tide安全团队

2026年3月12日 17:04 山东

声明:Tide安全团队原创文章,转载请声明出处!文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途给予盈利等目的,否则后果自行承担!

0x01 前言

这是一个可以用来记录登录日志的系统,文章主要用来记录一下大体的实现思路。

0x02 项目效果

登录日志的功能可以实时记录所有用户的登录信息,包括输入的用户名、密码、来源IP及登录时间;同时后台将日志保存为Excel格式,便于相关人员查看和分析。

0x03 前期的技术选择与架构设计

Node.js+Express.js:作为后端服务,Node.js的事件驱动、非阻塞I/O特性还是比较适合处理大量的并发登录请求的。 ExcelJS:替代了有问题的xlsx库,提供了更稳定、功能更丰富的Excel文件处理能力。 原生前端技术:使用HTML/CSS/JavaScript 构建界面,避免了框架依赖,同时也提高了系统的稳定性和加载速度。

架构设计

系统主要通过三个主要组件来实现功能

  • 后端服务器 (server.js)-提供API接口和Excel文件处理
  • 登录页面-模拟真实的企业登录界面
  • 日志查看器 (logs-viewer.html)-提供日志管理和查看功能

0x04 核心功能实现

对于整个项目的实现思想来说,重要的核心功能之一就是如何实现准确获取来源IP。

自动获取用户的真实IP地址

使用Express.js的trust proxy配置,让Express信任代理服务器转发的请求头。同时确保IP格式的一致性。

生成美观易懂的Excel表格

考虑到登录信息可能并发量比较大,那么就要求我们的生成表格功能要实现自动创建、更新和管理Excel格式的登录日志文件,而且支持追加新记录和保持现有数据。

这里我刚开始时用的xlsx库,但是后来实测发现总是出现各种问题,后来使用ExcelJS库替代有问题的xlsx库,并且实现了自动创建表头和样式(粗体、背景色),而且支持文件追加模式,不覆盖现有数据,同时具备完整的错误处理和日志记录。

集成前端日志记录

在登录页面中无缝集成日志记录功能,每次用户登录时都会自动发送日志数据。

完整的日志管理界面

这个界面可以提供Web界面的日志查看器,支持文件列表、内容预览、下载等功能。

0x05 系统工作流程

1、用户登录流程

用户输入账号密码 → 前端记录日志 → 发送到后端API → 获取真实IP → 写入Excel文件 → 返回成功响应

2、登录日志的记录与管理流程

管理员访问查看器 → 获取文件列表 → 选择文件查看内容 → 下载或预览日志数据

0x06 实现效果

整个项目的实现思路以及准备就如前文所述,接下来咱们启动一下看看具体效果。

  • 前端登录页面:

  • 后台输出的请求日志记录

  • 前端请求日志查看

  • 导出的Excel表格及打开效果

0x06 获取方式

如果有想进一步了解使用的小伙伴,请关注Tide安全团队公众号,发送登录日志系统,获取源码哦。

往期推荐

TscanPlus-一款红队自动化工具

潮影在线免杀平台上线了

自动化渗透测试工具开发实践

【红蓝对抗】利用CS进行内网横向

一个Go版(更强大)的TideFinger

SRC资产导航监测平台Tsrc上线了

新潮信息-Tide安全团队2022年度总结

记一次实战攻防(打点-Edr-内网-横向-Vcenter)

E

N

D

Tide团队产品及服务

团队自研平台:潮汐在线指纹识别平台 | 潮听漏洞情报平台 | 潮巡资产管理与威胁监测平台 | 潮汐网络空间资产测绘 | 潮声漏洞检测平台 | 在线免杀平台 | CTF练习平台 | 物联网固件检测平台 | SRC资产监控平台  | ……

技术分享方向:Web安全 | 红蓝对抗 | 移动安全 | 应急响应 | 工控安全 | 物联网安全 | 密码学 | 人工智能 | ctf 等方面的沟通及分享

团队知识wiki:红蓝对抗 | 漏洞武器库 | 远控免杀 | 移动安全 | 物联网安全 | 代码审计 | CTF | 工控安全 | 应急响应 | 人工智能 | 密码学 | CobaltStrike | 安全测试用例 | ……

团队网盘资料:安全法律法规 | 安全认证资料 | 代码审计 | 渗透安全工具 | 工控安全工具 | 移动安全工具 | 物联网安全 | 其它安全文库合辑  | ……


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:Tide安全团队 Komorebi Komorebi《构建登录日志系统:Node.js + ExcelJS》

评论:0   参与:  0