diff --git a/upload/source/admincp/admincp_login.php b/upload/source/admincp/admincp_login.php
index a1b1a1e9bd20b130ca7629f5b82f6a85ac8b9ae0..7568c19a53cfa68ac357198b4a6e6116f4399374 100644
--- a/upload/source/admincp/admincp_login.php
+++ b/upload/source/admincp/admincp_login.php
@@ -156,6 +156,11 @@ EOT;
+EOT;
+ if (!empty($_G['admincp_checkip_noaccess'])) {
+ echo '
'.lang('admincp_login', 'login_ip_noaccess').'';
+ }
+ echo <<
EOT;
}
diff --git a/upload/source/class/discuz/discuz_admincp.php b/upload/source/class/discuz/discuz_admincp.php
index 6d323e3ef5c6f7525102494b2ed7c71e224fc33d..72137ff5060cdfc8d0f82c5913c4a44475f24a1c 100644
--- a/upload/source/class/discuz/discuz_admincp.php
+++ b/upload/source/class/discuz/discuz_admincp.php
@@ -101,6 +101,7 @@ class discuz_admincp
} elseif ($this->cpsetting['checkip'] && ($session['ip'] != $this->core->var['clientip'])) {
$this->cpaccess = 1;
+ $_G['admincp_checkip_noaccess'] = 1;
} elseif ($session['errorcount'] >= 0 && $session['errorcount'] <= 3) {
$this->cpaccess = 2;
diff --git a/upload/source/language/lang_admincp_login.php b/upload/source/language/lang_admincp_login.php
index b7627db35edcba4675c1dd6e86770fcf069a692e..ac853034029f4256bcc888c352a6e427ea896a25 100644
--- a/upload/source/language/lang_admincp_login.php
+++ b/upload/source/language/lang_admincp_login.php
@@ -43,6 +43,7 @@ $lang = array
'login_cplock' => '您的管理面板已经锁定!
请在 {ltime} 秒以后重新访问管理中心。',
'login_user_lock' => '由于您的登录密码错误次数过多,本次登录请求已经被拒绝。请 15 分钟后重新尝试。',
'login_cp_noaccess' => '管理中心(或此项操作)尚未对您开放
您的此次操作已经记录,请勿非法尝试',
+ 'login_ip_noaccess' => 'IP变动可能导致登录失败,查看解决办法',
'noaccess' => '后台管理权限(或此项操作)尚未对您开放,请联系站点管理员',