最终用户是否有(已知)方式编辑Laravel 4会话变量?
答案 0 :(得分:6)
最终用户是否有(已知)方式编辑Laravel 4会话变量?
是的,但只有你不顾一切地让它成为可能。所需的步骤是:
如果您执行这些不明智的步骤,除了允许用户覆盖会话数据外,this is a risk for PHP object injection via unserialize()
。
建议:如果您要将会话状态存储在Cookie中,请确保将其包含在authenticated encryption中。 Laravel的加密库采用经过身份验证的加密(加密然后是MAC),会话默认使用此功能。
至于其他驱动程序,这取决于您的网络拓扑。如果您的数据库位于另一台服务器上,并且您的攻击者可以模拟Web服务器,那么他们可以在数据库中放置他们想要的任何内容。
最后我检查过,Laravel默认加密会话数据(除非你禁用加密)。除非您的数据库与Web服务器位于同一主机上,否则请将其保持打开状态。
答案 1 :(得分:1)
他们必须在您的服务器上运行代码(类似Session::put('key', 'value');
)..或者利用您应用程序上可能存在的漏洞。
如果你小心使用会话(验证等),除非你更新它,否则它应该保持不变。
更多关于Laravel会议的内容:http://laravel.com/docs/4.2/session