标签:php
我在分配给我维护的系统上遇到了很大的问题.
实际上,在内联网上有许多系统.
问题是,原始程序员为Intranet创建了许多系统,所有这些系统都通过脚本连接到数据库,其中用户名,pass,db params等存储在$_SESSION变量中.
当用户在一个选项卡中登录一个系统,然后为另一个系统打开另一个选项卡时,就会出现问题,并且由于会话变量被覆盖,因此他无法在第一个系统中继续操作.
考虑到有数十种应用程序…您如何认为我可以在不更改每个现有应用程序的情况下解决此问题?
谢谢!
解决方法:
您需要找到操作会话的方法.
一种方法是使用子域,例如:app1.myoffice.local,app2.myoffice.local等.浏览器不跨域共享会话cookie.
其他技巧是将会话cookie路径从/更改为子文件夹. myoffice.local / app1 /的会话cookie应该限制为/app1/,myoffice.local/app2/的会话cookie应该限制为/ app2 /,依此类推.
我认为您可以在调用session_start()之前通过session_set_cookie_params()或ini_set()函数在php中更改此设置.
标签:php
来源: https://codeday.me/bug/20191210/2101450.html
本文讨论了在多个系统间因会话变量冲突导致的问题,并提出了通过调整会话设置,如使用子域和更改会话cookie路径来解决这一难题的方法。
1093

被折叠的 条评论
为什么被折叠?



