开始会话处理,session_start()
时,最佳做法是什么?是否应该先开始检查 $ _ POST 数据, 检查 $ _ POST 数据?
答案 0 :(得分:1)
这取决于您的代码正在做什么以及您对$ _POST数据的关注程度。我将讨论一些方案来帮助您理解我的观点。
如果会话的存在可以为用户提供某种应该受到保护的特权,并且$ _POST数据包含确定会话是否有效的内容,那么当然,您需要首先验证发布数据。例如,您有一个if
语句,只询问“是否有会话?如果是,请给予权限”。如果帖子数据包含用户名/ pw来验证它们,但你已经开始了一个会话(给予他们特权)那么这显然很糟糕。
会话本身可以存在,并且不一定意味着任何特权(因此也是安全性)。在这种情况下,您可能正在使用会话获取所有访问者拥有的某种持久性信息。如果有人“登录”,则添加到会话数据。在这种情况下,会话存在,但您只是在将“登录”信息添加到会话之前等待验证用户名/ pw。
可能性非常大,我认为任何一个答案都不适用于所有情况。请务必考虑所有可能性并遵循标准安全实践。
答案 1 :(得分:0)
我之前更喜欢启动它,因为我可以检查会话中是否有现有数据