在浏览器中生成唯一的序列号以进行日志记录

时间:2017-05-24 11:36:18

标签: javascript security logging distributed-computing

创建分布式系统时,其中一个主要问题是调试问题出现的位置和方式,而且通常用于进行验尸的唯一工具就是可用的日志。尝试处理来自不同系统的日志的一种方法是generating a unique sequence number,它遵循通过系统的请求。

这方面的一个小问题是找出在请求开始的地方绘制边界的位置。如果有人说这个边界在浏览器中开始,则使用some GUID library将唯一标识符生成留给浏览器。这是一个可行的解决方案,还是我应该重新考虑一下?

1 个答案:

答案 0 :(得分:1)

当您在问题上放置安全标记时,让我对安全方面有所了解。如果您选择在浏览器中生成唯一ID,则恶意客户端(攻击者)可以通过发送ID来完全搞乱您的日志(例如,对于所有请求都相同,或者更巧妙地混合它们)。因此,请务必记住,对Web应用程序的请求中的任何内容都完全在客户端的控制之下,这也可以伪造任何请求字段,无论是标题还是内容。

因此,为了保留日志(特别是如果这也包括与安全相关的日志),我会在Web服务器上生成ID,浏览器无法安全地执行此操作。