工作中使用destoon二次开发B2B平台,今天在登录destoon后台的时候,突然出现报错,报错提示为”未被允许的地区“。因为前面在后台设置中为了防止后台被破解设置了允许登录后台地区,可能是因为我们这边的IP更新,系统自带数据库没有进行对应的更新所以导致的无法登录。
通过查找代码,我们可以找到下面的文件,修改其中的代码,就可以解决提示未被允许的地区的问题。
文件地址:admin/login.inc.php
这个位置有两个字段一个是“未被允许的地区”,一个是“未被允许的IP段”
找到之后把判断的整个字段临时屏蔽掉就可以。
6.0 7.0版本中可能略有不同,整个判断字段注释掉即可。
- if($DT['admin_area']) {
- $AA = explode("|", trim($DT['admin_area'])); $A = ip2area($DT_IP); $pass = false; foreach($AA as $v) { if(strpos($A, $v) !== false) { $pass = true; break; } } if(!$pass) dalert('未被允许的地区', $MODULE[2]['linkurl'].'logout.php?forward='.urlencode(DT_PATH)); } if($DT['admin_ip']) { $IP = explode("|", trim($DT['admin_ip'])); $pass = false; foreach($IP as $v) { if($v == $DT_IP) { $pass = true; break; } if(preg_match("/^".str_replace('*', '[0-9]{1,3}', $v)."$/", $DT_IP)) { $pass = true; break; } } if(!$pass) dalert('未被允许的IP段', $MODULE[2]['linkurl'].'logout.php?forward='.urlencode(DT_PATH)); }
删除或者注释掉就好了。
登录后台之后找到网站设置——安全中心,允许登录后台地区修改和允许登录后台的IP都删除即可。
如果你还想是限制一下后台登录的IP,你可以尝试将市一级的名称改成省一级的,比如济南改为山东。 |