typecho升级到1.2版本后无法登录后台的问题解决

简单的解决办法

GitHub 上搜到了对应的解决方案,编辑 Typecho 站点根目录下的文件config.inc.php,在最后添加一行

define('__TYPECHO_SECURE__',true);

另外,如果无效,还可以试试下面的方法,

以下文字转载自https://www.cnblogs.com/eaglexmw/p/16220934.html

解决办法,先在admin\Header.php中加入上面的referer行,如下:

<?php if (!defined('__TYPECHO_ADMIN__')) { exit;
} $header = '<link rel="stylesheet" href="' . $options->adminStaticUrl('css', 'normalize.css', true) . '">
<link rel="stylesheet" href="' . $options->adminStaticUrl('css', 'grid.css', true) . '">
<link rel="stylesheet" href="' . $options->adminStaticUrl('css', 'style.css', true) . '">'; /** 注▒~F~L▒~@个▒~H~]▒~K▒~L~V▒~O~R件 */ $header = \Typecho\Plugin::factory('admin/header.php')->header($header); ?><!DOCTYPE HTML>
<html>
    <head>
        <meta charset="<?php $options->charset(); ?>">
        <meta name="renderer" content="webkit">
        <meta name="referrer" content="same-origin" />
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
        <title><?php _e('%s - %s - Powered by Typecho', $menu->title, $options->title); ?></title>
        <meta name="robots" content="noindex, nofollow"> <?php echo $header; ?> </head>
    <body<?php if (isset($bodyClass)) {echo ' class="' . $bodyClass . '"';} ?>>

加入后,登录功能即正常,但blog首页中的退出登录还有问题,点击退出类似于登录异常的情形,直接返回。

采取在首页相应的header处,添加相应代码。

themes中的header.php中代码如下(默认theme):


<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?> <!DOCTYPE HTML>
<html>
<head>
    <meta charset="<?php $this->options->charset(); ?>">
    <meta name="renderer" content="webkit">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title><?php $this->archiveTitle([ 'category' => _t('分类 %s 下的文章'), 'search' => _t('包含关键字 %s 的文章'), 'tag' => _t('标签 %s 下的文章'), 'author' => _t('%s 发布的文章')
        ], '', ' - '); ?><?php $this->options->title(); ?></title>

    <!-- 使用url函数转换相关路径 -->
    <link rel="stylesheet" href="<?php $this->options->themeUrl('normalize.css'); ?>">
    <link rel="stylesheet" href="<?php $this->options->themeUrl('grid.css'); ?>">
    <link rel="stylesheet" href="<?php $this->options->themeUrl('style.css'); ?>">

    <!-- 通过自有函数输出HTML头部信息 --> <?php $this->header(); ?> </head>
<body>

这儿首页的header()函数,实际对应到var/Widget/Archive.php中的header函数,


/**
     * 输出头部元数据
     *
     * @param string|null $rule 规则
     */ public function header(?string $rule = null) { $rules = []; $allows = [ 'description' => htmlspecialchars($this->description), 'keywords' => htmlspecialchars($this->keywords), 'generator' => $this->options->generator, 'template' => $this->options->theme, 'pingback' => $this->options->xmlRpcUrl, 'xmlrpc' => $this->options->xmlRpcUrl . '?rsd', 'wlw' => $this->options->xmlRpcUrl . '?wlw', 'rss2' => $this->feedUrl, 'rss1' => $this->feedRssUrl, 'commentReply' => 1, 'antiSpam' => 1, 'atom' => $this->feedAtomUrl
        ]; /** 头部是否输出聚合 */ $allowFeed = !$this->is('single') || $this->allow('feed') || $this->makeSinglePageAsFrontPage; if (!empty($rule)) { parse_str($rule, $rules); $allows = array_merge($allows, $rules);
        } $allows = self::pluginHandle()->headerOptions($allows, $this); $title = (empty($this->archiveTitle) ? '' : $this->archiveTitle . ' &raquo; ') . $this->options->title; $header = '<meta name="referrer" content="same-origin" />'; if (!empty($allows['description'])) { $header .= '<meta name="description" content="' . $allows['description'] . '" />' . "\n";
        } if (!empty($allows['keywords'])) { $header .= '<meta name="keywords" content="' . $allows['keywords'] . '" />' . "\n";
        } if (!empty($allows['generator'])) { $header .= '<meta name="generator" content="' . $allows['generator'] . '" />' . "\n";
        } if (!empty($allows['template'])) { $header .= '<meta name="template" content="' . $allows['template'] . '" />' . "\n";
        } if (!empty($allows['pingback']) && 2 == $this->options->allowXmlRpc) { $header .= '<link rel="pingback" href="' . $allows['pingback'] . '" />' . "\n";
        } if (!empty($allows['xmlrpc']) && 0 < $this->options->allowXmlRpc) { $header .= '<link rel="EditURI" type="application/rsd+xml" title="RSD" href="' . $allows['xmlrpc'] . '" />' . "\n";
        }
        .....................

即可解决首页退出登录情况。

分享到:
赞(0)