PHP会话变量安全性

PHP会话变量安全性,php,security,session-variables,Php,Security,Session Variables,将原始sql查询存储在php会话变量中以供以后使用是一个坏主意吗?这是否存在任何安全问题 通常,会话数据存储在服务器文件系统的文件中(请参阅和)。如果您保护该会话数据(例如,通过保护目录使其仅可由PHP或web服务器访问),则可以将合理的数据放入会话中 请注意,如果您在共享主机上,很可能该共享主机上的所有用户都可以访问该会话数据目录。在这种情况下,您应该将该目录更改为只有您有权访问的目录,或者更改会话保存处理程序以将会话数据存储在您的个人数据库或其他地方 PHP会话变量存储在服务器上;浏览器仅获

将原始sql查询存储在php会话变量中以供以后使用是一个坏主意吗?这是否存在任何安全问题

通常,会话数据存储在服务器文件系统的文件中(请参阅和)。如果您保护该会话数据(例如,通过保护目录使其仅可由PHP或web服务器访问),则可以将合理的数据放入会话中


请注意,如果您在共享主机上,很可能该共享主机上的所有用户都可以访问该会话数据目录。在这种情况下,您应该将该目录更改为只有您有权访问的目录,或者更改会话保存处理程序以将会话数据存储在您的个人数据库或其他地方

PHP会话变量存储在服务器上;浏览器仅获得该数据的密钥。服务器随机生成该密钥,并将会话数据与该密钥关联。当客户机请求页面时,会话机制将密钥与数据匹配,从而知道客户机是谁。数据本身永远不会向客户端公开,只有密钥才是,因此您是安全的。

这在理论上是一种“安全”做法,但通常不可取。如果您正确地保护会话数据是安全的,但是根据经验,我认为在大多数情况下您不应该这样做

当以后需要此SQL时,是否存在无法重新生成此SQL的原因?也许您的方法是错误的,或者您没有充分使用应用程序代码


更具体的细节和针对您不同情况的示例代码将产生更好的响应。

我无法理解这样的需求曾经出现过吗?你能详细说明一下吗?也许有更好的办法…我也不明白你为什么要这么做。。。但是,除非你有共享主机,否则它是相当安全的。查询是由用户发布到站点的数据创建的,但是当查询生成100个结果时,我们希望在不重新提交帖子的情况下分页;因此,我将查询存储为一个变量,并根据是否有用于分页的url段对其进行偏移。这为他们注入代码提供了可能性。