【问题标题】:Avoid sharing PHP session避免共享 PHP 会话
【发布时间】:2023-04-02 14:18:01
【问题描述】:

PHP 会话很少见。 我有一个运行 Apache2 (Linux Debian 10) 的网络服务器。

我使用 PHP 和 MySQL 开发了一个小型 CRM。 我的 miniCRM 托管在同一台服务器上,但位于两个不同的目录中,例如:192.168.0.233/app/1/login.php192.168.0.233/app/2/login.php。

我注意到,如果我通过 192.168.0.233/app/1 登录,会话也会显示在 192.168.0.233/app/2 上。

我希望有人帮助我避免这种情况。我不希望在 app/1 上创建的会话能够在 app/2 中。我想让他们分开。

在迷你 CRM 中,脚本 login.php 使用以下代码启动会话:

    @$_SESSION["logged_user"] = "$post_username";

注意: linux debian 运行在 VirtualBox 中。

【问题讨论】:

标签: php mysql session


【解决方案1】:

现在凌晨 3:44 我找到了解决方案。

这就是我所做的。

app/1 中,我创建了一个名为 tmp 的文件夹,拥有 777 权限

$ cd app/1

$mkdir tmp

$ chmod -R 777 tmp

app/2 中,我创建了一个名为 tmp 的文件夹,拥有 777 权限

$ cd app/2

$mkdir tmp

$ chmod -R 777 tmp

app/1 中,我创建了一个 .htaccess,其中包含以下代码:

php_value session.save_path "/var/www/html/app/1/tmp"

app/2 中,我创建了一个 .htaccess,其中包含以下代码:

php_value session.save_path "/var/www/html/app/2/tmp"

完成!

现在会话名称是相同的“logged_user”,但它们不会混淆。

每个 app/1app/2 如何运行相同的小型 CRM,但每个 app/1app/ 2 将 PHP 会话保存在自己的 tmp 文件夹中。

保重,我现在要睡觉了:D

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-06
    • 1970-01-01
    • 2010-11-17
    • 2019-03-31
    • 2011-02-19
    • 2013-05-25
    • 2014-05-02
    • 2011-12-20
    相关资源
    最近更新 更多