Php $\会话安全性

Php $\会话安全性,php,security,session,Php,Security,Session,目前,我通过将会话中的一个键与MySQl数据库中的同一个键相匹配来验证用户会话。我使用一个随机数重新生成会话,该随机数在每次页面加载时都受到MD5保护。我知道会话本身并不安全,我正在寻找可以快速附加到该方法的进一步安全选项 有什么想法吗?由于会话数据存储在服务器端,会话ID用于将客户端的请求与特定会话关联,因此需要保护的是会话ID。保护会话ID的唯一可行措施是使用TLS/SSL加密客户端和服务器之间的连接 因此,只要客户端和用户之间的数据传输是安全的,就可以使用会话。此外,您还可以将PHP会话修

目前,我通过将会话中的一个键与MySQl数据库中的同一个键相匹配来验证用户会话。我使用一个随机数重新生成会话,该随机数在每次页面加载时都受到MD5保护。我知道会话本身并不安全,我正在寻找可以快速附加到该方法的进一步安全选项


有什么想法吗?

由于会话数据存储在服务器端,会话ID用于将客户端的请求与特定会话关联,因此需要保护的是会话ID。保护会话ID的唯一可行措施是使用TLS/SSL加密客户端和服务器之间的连接


因此,只要客户端和用户之间的数据传输是安全的,就可以使用会话。此外,您还可以将PHP会话修复为TLS/SSL会话,以便PHP会话仅在特定的TLS/SSL会话中可用。

您已经跳过了对增强安全性毫无作用的障碍,并且可能会损害站点的功能

我通过将会话中的一个键与MySQl数据库中的同一个键相匹配来验证[sic]用户会话

即使撇开拼写错误不谈,这也是胡说八道。你的意思是用这种方法对请求进行身份验证吗?如果是这样的话,这仍然无助于你的安全。您已经通过取消引用会话对请求进行了身份验证。请求是否被授权完全不同-如果需要验证用户,则应在会话数据中对此进行标记

听起来你在试图阻止CSRF,但这一切都与你是在验证用户、会话还是请求有关

每次加载页面时,我都会重新生成会话

同样,这是语义上的胡说八道。您不能“重新生成会话”。你的意思是创建一个新的sessionId吗?如果是这样的话,那么当用户试图打开第二个窗口或使用“后退”按钮时,您所要实现的就是创建错误。它提供很少的CSRF保护

MD5是否受保护

仅仅使用随机加密函数并不能保证应用程序的安全。不管真实数据和代理标识符之间的映射是什么,它本身并没有针对MITM提供保护

要么您在描述当前安全措施方面做得非常糟糕,要么您编写了大量没有任何用处的代码

去读很多东西