假设两者均使用https,PHP会话是否比ajax调用更安全?

时间:2019-04-14 13:55:04

标签: php session session-cookies

我正在为Web应用程序编写登录系统。目前,我创建了一个php会话,并在任何HTML或其他输出之前生成了存储在PHP会话变量中的令牌。该令牌是通过简单的嵌入式PHP回声从php会话中的JavaScript中读取的,并短暂地存储在javascript变量中。然后,它在所有ajax请求中发送,并且如果ajax请求中发送的令牌与PHP会话中存储的令牌不匹配,则ajax调用将中止。一种替代方法是对php脚本进行ajax调用DOMContentLoaded,生成令牌,将散列存储为mysql,并通过ajax响应返回未哈希的令牌并将其存储在JavaScript变量中。在同一页面中的后续ajax调用中,我可以每次都返回一个新令牌,以在后续ajax调用中使用。

我的问题是,将令牌主要存储在PHP会话中,但仍然通过php echo将其读取到JavaScript变量中是否比通过ajax返回令牌并将其存储在JavaScript变量中更安全。 ajax方法的优点是允许在每个ajax调用中生成并返回一个新令牌。

我曾尝试在ajax调用过程中更新php会话中的令牌,但将会话变量的PHP回声转换为JavaScript变量的客户端代码无法接收在ajax调用过程中创建的新值没有重新加载。如果令牌存储在mysql中并通过ajax返回给客户端,这不是问题。

0 个答案:

没有答案
相关问题