超详细typecho点击头像进入后台的解决办法


typecho一直以简约高效而著称业界,他没有wordpress那么繁杂的插件和主题,Typecho 的一大特点就是 “精简”。全部文件不足500KB,但却也实现了完整的主题和插件支持。博客程序很轻量,资源占用也很低,原生支持 Markdown 语法。属于省心并且简洁的博客类型。

而typecho的主题有时候由于开发者代码审查不严谨,会导致一处后台路径泄露
1.jpg

点击这个头像,就会自动进入后台路径

逻辑:

开发者为了方便用户登录,而在此处添加了判断

<div id="login-reg">
            <!-- 个人头像 -->
            <?php if($this->user->hasLogin()): ?>
            <!-- 如果用户已经登录 -->
            <div class="exloginbox">
                <a href="#" class="user-panel"><img alt="avatar" src="//q.qlogo.cn/g?b=qq&nk=<?php $this->options->QQ();?>&s=40" srcset="//q.qlogo.cn/g?b=qq&nk=<?php $this->options->QQ();?>&s=100 2x" class="avatar avatar-110 photo" height="110" width="110"></a>
                <div class="user_inner">
                <ul>
                <li><a href="<?php $this->options->logoutUrl(); ?>" class="user-logout">登出</a></li>
                </ul>
                </div>
            </div>
            <?php else: ?>
            <!-- 如果用户未登录 -->
            <div class="ex-login">
                <a href="<?php $this->options->adminUrl(); ?>" target="_top">
                    <i class="iconfont">&#xe615;</i>
                </a>
            </div>
            <?php endif; ?>
        </div>

流程:

注意看这里的adminUrl
用户点击此处,if判断如果没登录,就会检索网站根目录下的config.inc.php文件,得到后台路径,进入后台登录

/** 后台路径(相对路径) */
define('__TYPECHO_ADMIN_DIR__', '/admin/');

解决方法:
最简单有效的小白操作就是去掉这段代码

<a href="<?php $this->options->adminUrl(); ?>" target="_top">
  <i class="iconfont">&#xe615;</i>

效果立竿见影:
2.png

这样能非常好的防止别人得到你的路径,并且对你的后台进行爆破,因为typecho的后台登录时没有验证码的,这也就是说,理论上,只要你字典大,就可以爆出你的密码,从而进入后台做一些坏事~

声明:苏茗鹿的空间|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接


Carpe Diem and Do what I like