我要问的问题只是因为我很好奇。我认为我在做正确的事情,但我想确保它确实是正确的事情。这是关于哈希的。
我目前正在构建的网站具有几个 Ajax ed 组件。首先,未登录的用户无法使用这些组件。其次,登录的用户只能以自己的名义提出请求。它很容易伪造,因为我发送了用户 ID。
我的验证方法如下。每个用户在数据库中都有一个包含随机信息的列,例如 8 个字符的随机字符串。除了用户发出的每个 Ajax 请求,这个随机字符串作为散列字符串发送。当服务器接收到 Ajax 请求时,此哈希与用户表匹配,以确保 ID 和哈希是有效的一对。如果是,则该请求是有效的。
“秘密”随机字符串永远不会进入用户领域,不容易被猜到,这意味着用户永远无法生成哈希。这种保护请求安全吗?有什么缺点吗?如果我用一些盐会更好吗?
顺便说一句,这种验证真的让我很感兴趣。我学习了交互设计课程。'我们'有'知识在世界,知识在头脑'的原则。散列确实使用该技术将元数据从“头部”传输到“世界”(反之亦然)。头部和世界都有比较和解密元数据的方法,因此无法模拟请求。只要世界不知道头脑知道什么。
好吧,也就是说,我想知道我的请求是否(相对)安全。提前致谢!
莱德