同一域中的两个不同的PHP会话,如何仅销毁其中一个?

白线

在同一个域中,我有两个正在运行的应用程序

  • localhost/app1
  • localhost/app2

这是我的会话管理:

用于检查登录的页面:

session_start();
//...check if the login is correct

//if is correct
$_SESSION["SESSION_VALID"] = true;
//redirect to the correct page

//if is not correct
$_SESSION["SESSION_VALID"] = false;
//redirect to the login

我的申请页面:

//check the session
session_start();
if(!$_SESSION['SESSION_VALID']){
    //redirect to login page
    header("Location: ../../login/");
    exit;
}

登出页面:

session_start();
session_unset();
session_destroy();
//redirect to the login
header("Location: ../login/");

现在,回到最初的问题。我已经阅读了有关此问题的有关堆栈溢出的几个问题。解决的办法是使用session_name("app1")before every session_start()

好的,但是现在的问题是另一个:当我从一个应用程序中注销时,如何设置应该销毁哪个会话?只是session_name("app1")在会议结束之前打电话是正确的解决方案?像那样的东西?

session_name("name_of_the_session_to_destroy");
session_start();
session_unset();
session_destroy();
header("Location: ../login/");
半身人

似乎您在同一个域上有两个应用程序,但希望完全彼此独立地运行两个会话。您发现注销一个应用程序会使用户注销另一应用程序,但是您不希望这种情况发生。

解决方案是将会话cookie设置为仅对每个应用程序的域的目录部分有效。默认情况下,会话扩展到整个域,这就是为什么在一个应用程序中破坏会话也会影响另一应用程序的原因。

例如,要登录应用程序1,请在会话开始时执行以下操作:

session_set_cookie_params (60 * 30, '/app1');

当然,您将需要检测您所在的应用程序,并相应地提供正确的路径组件。您可以从$_SERVER变量中获取。

在这里阅读更多

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

同一域中的两个不同的PHP会话,如何仅销毁其中一个?

来自分类Dev

如何使两个单选按钮成为必需,但仅应接受其中一个

来自分类Dev

如何压缩两个列表,其中一个列表仅包含一项

来自分类Dev

在两个函数中声明变量,但仅初始化其中一个

来自分类Dev

如何遍历两个列表,其中一个移位?

来自分类Dev

Hibernate:如何用其中一个没有ID的两个表联接?

来自分类Dev

如何比较两个 MySQL 表然后更新其中一个

来自分类Dev

如何确保两个程序始终运行?(其中一个取决于另一个。)

来自分类Dev

一个 venv 中的两个 pip 版本-如何删除其中一个

来自分类Dev

jQuery:通过仅单击其中一个来切换两个单选按钮

来自分类Dev

多个设计会议,销毁其中一个

来自分类Dev

创建对同一个表的两个外键引用,其中一个具有唯一的复合索引

来自分类Dev

PHP简单HTML DOM获得了两个不同的单元格类(内联),但其中一个可能为空

来自分类Dev

炸药 如何以两个唯一的属性为条件,其中一个是哈希键?

来自分类Dev

如何使一个方法接收两种不同的数据类型并仅返回其中一种C#?

来自分类Dev

如果两个文件指针指向同一个文件,关闭其中一个是否足够?

来自分类Dev

如果两个文件指针指向同一个文件,关闭其中一个是否足够?

来自分类Dev

搜索一对中的两个元素并替换其中一个元素

来自分类Dev

合并两个熊猫数据框,其中一个是另一个的子集(或仅填充列的子集)

来自分类Dev

同一类的多个对象仅引用其中一个对象

来自分类Dev

如何正常地在两个列上联接两个表,但是如果其中一个列包含null,那么结果必须包含仅与另一列匹配的行?

来自分类Dev

如何为两个无线网络(其中一个以VPN结尾)建立访问点?

来自分类Dev

Rails:如何创建具有两个“ belongs_to”关系的模型,其中一个始终为空?

来自分类Dev

如何显示两个水平的文本视图,其中一个根据内容调整大小?

来自分类Dev

如何过滤其中一个系列中列表元素的值为true的两个Dataframe系列

来自分类Dev

如何合并/合并两个相同长度的矩阵以“填补其中一个矩阵的空白”?R问题

来自分类Dev

r如果我有两个具有相同内容的独立组,如何删除其中一个?

来自分类Dev

如何为两个无线网络(其中一个以VPN结尾)建立访问点?

来自分类Dev

如何显示两个水平的文本视图,其中一个根据内容调整大小?

Related 相关文章

  1. 1

    同一域中的两个不同的PHP会话,如何仅销毁其中一个?

  2. 2

    如何使两个单选按钮成为必需,但仅应接受其中一个

  3. 3

    如何压缩两个列表,其中一个列表仅包含一项

  4. 4

    在两个函数中声明变量,但仅初始化其中一个

  5. 5

    如何遍历两个列表,其中一个移位?

  6. 6

    Hibernate:如何用其中一个没有ID的两个表联接?

  7. 7

    如何比较两个 MySQL 表然后更新其中一个

  8. 8

    如何确保两个程序始终运行?(其中一个取决于另一个。)

  9. 9

    一个 venv 中的两个 pip 版本-如何删除其中一个

  10. 10

    jQuery:通过仅单击其中一个来切换两个单选按钮

  11. 11

    多个设计会议,销毁其中一个

  12. 12

    创建对同一个表的两个外键引用,其中一个具有唯一的复合索引

  13. 13

    PHP简单HTML DOM获得了两个不同的单元格类(内联),但其中一个可能为空

  14. 14

    炸药 如何以两个唯一的属性为条件,其中一个是哈希键?

  15. 15

    如何使一个方法接收两种不同的数据类型并仅返回其中一种C#?

  16. 16

    如果两个文件指针指向同一个文件,关闭其中一个是否足够?

  17. 17

    如果两个文件指针指向同一个文件,关闭其中一个是否足够?

  18. 18

    搜索一对中的两个元素并替换其中一个元素

  19. 19

    合并两个熊猫数据框,其中一个是另一个的子集(或仅填充列的子集)

  20. 20

    同一类的多个对象仅引用其中一个对象

  21. 21

    如何正常地在两个列上联接两个表,但是如果其中一个列包含null,那么结果必须包含仅与另一列匹配的行?

  22. 22

    如何为两个无线网络(其中一个以VPN结尾)建立访问点?

  23. 23

    Rails:如何创建具有两个“ belongs_to”关系的模型,其中一个始终为空?

  24. 24

    如何显示两个水平的文本视图,其中一个根据内容调整大小?

  25. 25

    如何过滤其中一个系列中列表元素的值为true的两个Dataframe系列

  26. 26

    如何合并/合并两个相同长度的矩阵以“填补其中一个矩阵的空白”?R问题

  27. 27

    r如果我有两个具有相同内容的独立组,如何删除其中一个?

  28. 28

    如何为两个无线网络(其中一个以VPN结尾)建立访问点?

  29. 29

    如何显示两个水平的文本视图,其中一个根据内容调整大小?

热门标签

归档