发新帖
打印 上一主题 下一主题
开启左侧边栏

修改Discuz用户登录页面和登录反馈信息,增加黑客暴力破解密码难度

[复制链接]
去掉Discuz论坛网页右上角的简化了的登录方式,这个简化了的登录方式只要求用户先提供用户名和密码,如果用户名和密码都正确了,而且该用户还设置了安全提问,系统才给出安全提问,要求用户回答。即使用户设置了安全提问,黑客暴力破解时,可以先破解密码,确定密码已破解了,再破解安全提问。应该要求用户(当然也迫使黑客)同时回答密码和安全提问,而且如果回答有错误,不反馈是密码错了,还是安全提问错了,或是二者都错了。这样就无数倍地增大了暴力破解的尝试总数。
-------------------------------------------------
将文件\template\default\member\login_simple.htm改成如下内容:
<!--{if CURMODULE != 'logging'}-->
<div class="fastlg cl">
        <div class="y pns">
    <a href="member.php?mod=logging&action=login" class="xi2">{lang login}</a>
     <a href="member.php?mod={$_G[setting][regname]}" class="xi2 xw1">$_G['setting']['reglinkname']</a>
        </div>
        <!--{hook/global_login_extra}-->
</div>
        <!--{if $_G['setting']['pwdsafety']}-->
                <script type="text/javascript" src="{$_G['setting']['jspath']}md5.js?{VERHASH}" reload="1"></script>
        <!--{/if}-->
<!--{/if}-->
-------------------------------------------------
再\source\language\lang_template.php中

<a href="javascript:;" class="xi2">
改成
<a href="member.php?mod=logging&action=login" class="xi2">
-------------------------------------------------
上面这样修改后,系统给用户的登录页面同时包含用户名、密码、安全提问,即使有些用户可能没有设置安全提问而不必回答该问题。注意黑客破解时可不知道有无安全提问。
+++++++++++++++++++++++++
让所有用户(这所有用户也包括网站管理员)使用的登录论坛、家园、资讯、博客等的登录页面,也象网站管理员登录网站后台管理页面的登录页面一样安全,即给黑客暴力破解最少的线索,避免他们采用逐个排除,步步深入的方法来猜测密码和安全提问。如果回答错了,不告知哪个错了,最多告诉你还可以尝试登录多少次。
-------------------------------------------------
在\source\class\class_member.php中

$fmsg = $result['ucresult']['uid'] == '-3' ? (empty($_GET['questionid']) || $answer == '' ? 'login_question_empty' : 'login_question_invalid') : 'login_invalid';
改成
$fmsg = 'login_invalid'; //这里不加区分一律告知又一次登录失败,不提供详细解释
-------------------------------------------------
假如单独破解密码需尝试1万次,单独破解安全提问需尝试1万次,那么同时破解密码和安全提问就需尝试1万乘以1万次,即1亿次。


相关帖子




www.51haoyou.com

GMT-5, 2024-11-21 10:32

© 2005-

快速回复 返回顶部 返回列表