【问题标题】:PHP Session sharingPHP 会话分享
【发布时间】:2011-04-20 23:07:47
【问题描述】:

我们将 WHMCS 用于托管业务的计费系统。 WHMCS 是用 PHP 编写的。像往常一样,有一个通常的登录框,可以读取数据库等。

我们希望开发一个单独的系统,让我们的客户与我们一起管理他们的服务器(非计费相关的事情)。是否可以让客户像往常一样登录 WHMCS,然后以某种方式“神奇地”被允许访问新的系统门户?

请记住,WHMCS 不是开源的,因此我无法修改此代码,但我可以在同一个 Apache 实例上运行它们。另外,当然,我想牢记安全。

感谢任何帮助

【问题讨论】:

    标签: php session session-cookies


    【解决方案1】:

    下面是一个示例:

    <?php
    require("whmcs/dbconnect.php"); // You may have to change the path here
    if ($_SESSION['uid']) {
        echo "whmcs user logged in";
    } else {
        echo "whmcs user not yet login";
    }
    ?>
    

    【讨论】:

    • 你能解释一下为什么我需要 dbconnect.php 吗?另外,$_SESSION['uid'] 是否只是检查是否设置了 uid?我不需要isset吗?
    • dbconnect.php 应该是您的 WHMCS dbconnect.php 文件。他们有自己的代码来创建/验证会话,因此包含该文件并使用 $_SESSION['uid'] 是找出用户是否登录并在需要时获取他们的 UID 的最简单方法。在您自己的数据库中。如果用户未登录,则 $_SESSION['uid'] 应返回为 null,因此无需使用 isset() (尽管这样会让您更舒服)。
    • 太棒了!谢谢你的帮助!我想我还是有点困惑,为什么我需要他们的 dbconnect.php?如果我没有包含该文件,他们的会话变量是否不可访问?谢谢
    • 我不确定您是否可以省略 dbconnect.php 文件,因为它是加密的,并且没有使用特殊的加载程序,所以我不知道它的作用。尽管我看到的每个示例都使用该文件,但最坏的情况是您可以将其忽略,并找出页面是否有效;)尽管如果您需要获取任何客户端详细信息,它非常方便,因为它包含 WHMCS 的连接信息.
    • 小问题:一旦用户登录,然后注销,uid 似乎仍然设置...有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 2014-09-06
    • 2023-04-02
    • 1970-01-01
    • 2013-09-13
    • 2012-09-01
    • 2011-02-19
    • 2013-05-25
    • 2011-12-20
    相关资源
    最近更新 更多