试图将自动登录集成到论坛(phpbb3)

时间:2014-09-04 07:54:09

标签: php phpbb3

我使用的是phpbb 3.0.12和php 5.4.28。

我有一个网站,其中我使用phpbb作为论坛。最近我想整合登录程序,所以我不需要登录两次。

要做到这一点(并使其看起来更好)我决定将论坛本身放在一个。我遇到了一些问题,所以最后我决定不将论坛index.php放在iframe中,而是将整个东西包装在一个名为wrap.php的文件中。这种方法效果更好,但并不完全。

我对phpbb中的index.php进行了一些小改动,我主要检查是否定义了IN_PHPBB,如果是,那么它会跳过登录过程:

if (!defined("IN_PHPBB"))
{
    define('IN_PHPBB', true);
    $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);
    include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

    // Start session management
    $user->session_begin();
    $auth->acl($user->data);
    $user->setup('viewforum');
}

我的wrap.php看起来像这样:

<?php
$username = $_GET['name'];
$password = '';

// phpBB inclusion protection
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

if (!isset($_GET['f']))
{
    // Start session management
    $user->session_begin();
    $auth->acl($user->data);

    // login to forum
    $result = $auth->login($username, $password, 1);

    include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
    $user->setup('viewforum');

    include('index.php');
}
else
{
    $user->session_begin();
    $auth->acl($user->data);

    // login to forum
    $result = $auth->login($username, $password, 1);

    include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
    include($phpbb_root_path . 'includes/bbcode.' . $phpEx);

    include('viewtopic.php');
}

?>

如果我要转到特定主题,则会在回合中发送$ _GET [&#39; f&#39;]和$ _GET [&#39; t&#39;]。

好的......症状。对于IE的初学者来说......我来到一个空白的页面。如果我点击登录索引,我会在没有登录问题的情况下将其带到那里。为什么?有没有办法告诉它直接进入董事会指数?

在Chrome上它根本不起作用,它甚至不会因某种原因登录。所以我猜这与饼干没有正确设置有关。

如果我去一个特定主题 - 在IE上它只是声称我不被允许查看该主题,我点击登录索引然后我可以浏览论坛并没有问题。

在Chrome上和以前一样,因为我没有登录,我收到一条消息,说明我没有被授权。点击登录索引会将我置于登录页面。

0 个答案:

没有答案