需要通过wordpress将子域代码Igniter信息传递到域


Need to pass subdomain codeIgniter info to domain with wordpress

我有一个域。对于这个问题,我们称之为www.example.com。感谢我如何设置和/或Wordpress,如果我输入example.com,它会将我重定向到www.example.com,Wordpress就会完成它的任务。我还有一个名为members.example.com的子域,在其中我使用CodeIgniter在public_html的/members文件夹中构建了一个相当复杂的系统。

在一个完美的世界里,我想做的是能够将一些php代码放入Wordpress中,让阅读事物"www"端的人能够确定他们目前是否也登录到事物的"成员"端。我知道CodeIgniter会话持续存在,所以每当我跳到成员端时,我仍然会登录。我的第一个想法是在CI中创建一个快速页面:

public function isLogged()
{
    $x = "off";
    if ($this->session->userdata('memberKey') != 0) {
        $x = "on";
    }
    echo $x;
}

然后,每当我运行链接members.example.com/login/isLogged时,我总是选择"关闭"或"打开"来确定我是否在memberKey可以是0表示未登录,也可以是基于数据库中某人对应密钥的数字。我希望我能够从www端(在Wordpress内)运行类似的

$homepage = file_get_contents('http://members.example.com/login/isLogged');

我可以根据此人是否登录采取行动。很明显,这里的缺陷是,当我调用上面的函数时,我总是会得到"off"作为我的结果,因为我是从服务器而不是从需要这些信息的客户端进行调用的。

能够阅读这些信息的最优雅的解决方案是什么?有没有一种跨平台阅读cookie的方法?

好吧,我意识到我完成了这个过程,我不想让任何人挂起,所以我的解决方案是:

首先,我知道对于我的cookie,我进入了codeIgniter的/application/config.php,并将以下内容作为我的cookie域(第269行-显然,我在这里更改了域名以保护我的客户)

$config['cookie_domain']    = ".example.com";

我在这里很小心,并且在域之前使用"."来覆盖所有子域。

我还知道我正在将会话数据写入数据库。所以,在Wordpress方面,我把这段代码放在了某个位置:

$memCCinfo = unserialize(stripslashes($_COOKIE['ci_session'])); // Changed for OBVIOUS reasons
$mysqli = mysql_connect('localhost', 'NAME', 'PASSWORD'); // Changed for OBVIOUS reasons
$mysqlDatabase = mysql_select_db('DATABASE',$mysqli); // Changed for OBVIOUS reasons
$isLoggedCC = "off";
$sessInfoQry = mysql_query('SELECT user_data FROM ci_sessions WHERE session_id = "' . $memCCinfo['session_id'] .'"',$mysqli);
while ($sessInfo = mysql_fetch_assoc($sessInfoQry)) { 
    $breakOutInfo = unserialize(stripslashes($sessInfo['user_data']));      
    if (is_array($breakOutInfo)) { $isLoggedCC = "on"; }
}

然后,我现在有了一种方法来确定成员是否登录到"成员"端。问题是…我在做的事情中有什么漏洞需要担心吗