在节点 js 中创建了一个 Web 应用程序。
- 应用的本质:通过Steam认证和从mysql数据库中提取个人信息。
- 漏洞描述:当第一个人登录账号时,会显示他的个人资料,但是如果其他人登录他的账号,那么每个人都会看到最后登录他的账号的人的信息。从解决方案的猜测来看,只为每个用户创建一个唯一的 id。
但从安全的角度来看,这是一个问题。是的,对数据库的请求不仅是 SELECT,而且是 UPDATE。
实际上代码本身:代码
我很乐意提供帮助,因为我在 node js 方面不是很强。但我找不到更好的平台。
更新:这可能是个问题吗?
app.use(session({
secret: 'your secret',
name: 'name of session id',
resave: true,
saveUninitialized: true
}));
Upd2:问题很可能出在全局变量playerData = []
中,从该变量输出到 ejs 文件。如果有人可以帮助得出结论 - 我会很高兴。
实际上,问题不在于全局变量
steamID,而在于全局输出变量playerData。问题是这样解决的: