首页 > 代码库 > 商城前后台限制ip地址访问
商城前后台限制ip地址访问
可禁止设定的IP或IP段访问前台,允许设定的IP或IP段登陆后台,增强网站安全性。IP段用*表示,多个地址用半角逗号分隔,优先级自左向右。程序版本为ECSHOP2.7.3,低版本的用户请手动升级。
实现步骤如下:
一、后台执行sql语句,添加所需要的字段,以及默认的几个ip,可以自行修改。如下图:
INSERT INTO ecs_shop_config (id, parent_id, code, type, store_range, store_dir, value, sort_order) VALUES(10, 0, ‘ip_limit‘, ‘group‘, ‘‘, ‘‘, ‘‘, 1),(1001, 10, ‘front_block‘, ‘select‘, ‘1,0‘, ‘‘, ‘0‘, 1),(1002, 10, ‘front_block_ip‘, ‘text‘, ‘‘, ‘‘, ‘58.60.68.134,61.135.169.*,125.39.127.*‘, 1),(1003, 10, ‘back_permit‘, ‘select‘, ‘1,0‘, ‘‘, ‘0‘, 1),(1004, 10, ‘back_permit_ip‘, ‘text‘, ‘‘, ‘‘, ‘174.36.160.*,174.36.161.155‘, 1);
二、在网站/includes/lib_common.php文件尾加入
/** * 检查客户端IP是否在名单中 * @param string $ip_list IP配置字符串 * @param string $real_ip 客户端IP * @return boolean $flag 返回布尔值 */function checkIP($ip_list, $real_ip, $flag){ $list = explode(‘,‘, $ip_list); foreach($list as $ipStr) { //从右向左检查IP字符串,如果不含星号,则不是IP段。 if(strpos($ipStr, ‘*‘) == false) { if($ipStr == real_ip()) { $flag = true; return $flag; } } else { //如果星号之前的IP段字符串是客户端IP的子串 $ipStr = substr($ipStr, 0, strpos($ipStr, ‘*‘)-1); if(strpos($real_ip, $ipStr) !== false) { $flag = true; return $flag; } } } return $flag; //不在名单中}
三、在网站/includes/init.php文件尾加入
/* 前台IP限制 */if($_CFG[‘front_block‘] == ‘1‘){ $flag = false; $flag = checkIP($_CFG[‘back_permit_ip‘], real_ip(), $flag); if($flag) { echo $_LANG[‘access_deny‘]; exit; }}
四、在网站/admin/includes/init.php文件尾加入
/* 后台IP限制 */if($_CFG[‘back_permit‘] == ‘1‘){ $flag = false; $flag = checkIP($_CFG[‘back_permit_ip‘], real_ip(), $flag); if(!$flag) { echo $_LANG[‘access_deny‘]; exit; }}
五、在网站/languages/zh_cn/admin/shop_config.php中加入
/* 访问限制 */$_LANG[‘cfg_name‘][‘ip_limit‘] = ‘访问限制‘;$_LANG[‘cfg_name‘][‘front_block‘] = ‘是否开启前台IP限制‘;$_LANG[‘cfg_range‘][‘front_block‘][0] = ‘关闭‘;$_LANG[‘cfg_range‘][‘front_block‘][1] = ‘开启‘;$_LANG[‘cfg_name‘][‘front_block_ip‘] = ‘前台IP黑名单‘;$_LANG[‘cfg_desc‘][‘front_block_ip‘] = ‘IP段用*表示,多个地址用半角逗号分隔,优先级自左向右。‘;$_LANG[‘cfg_name‘][‘back_permit‘] = ‘是否开启后台IP限制‘;$_LANG[‘cfg_range‘][‘back_permit‘][0] = ‘关闭‘;$_LANG[‘cfg_range‘][‘back_permit‘][1] = ‘开启‘;$_LANG[‘cfg_name‘][‘back_permit_ip‘] = ‘后台IP白名单‘;$_LANG[‘cfg_desc‘][‘back_permit_ip‘] = ‘IP段用*表示,多个地址用半角逗号分隔,优先级自左向右。‘;
六、在商城/languages/zh_cn/common.php中加入
/* 访问限制 */$_LANG[‘access_deny‘] = ‘对不起,您的IP已被列入黑名单,请联系管理员。‘;
七、/languages/zh_cn/admin/common.php中加入
/* 访问限制 */$_LANG[‘access_deny‘] = ‘对不起,您的IP不在白名单中,请联系管理员。‘;
大功告成!
注意:语言包的文字可以根据个人意愿进行调整,这里展示的只是大概意思。本人处以学习状态,主要用学习,本代码带来的任何问题,跟本人没有任何关系。(我只是在这里记录自己所做得笔记)。
商城前后台限制ip地址访问
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。