商城前後台限制ip地址訪問

來源:互聯網
上載者:User

標籤:des   blog   http   io   os   ar   for   檔案   sp   

可禁止設定的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個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.