Develop
2014.02.10 15:55
[php] XE 관리자 IP대역 설정 오류 해결법
조회 수 10940 댓글 0
관리자 IP를 풀IP로 지정하는건 제대로 동작하나
203.* , 203.255.255.* 와 같이 대역으로 설정하면 관리자 IP대역을 맞게 설정하고
대역내에 들어가는 IP래도
현재는 소스코드가 잘못 작성되어 접근이 차단되는 버그가 있습니다.
오류해결 방법은(1.7.3.4기준)
./modules/member/member.admin.model.php 파일의
292라인의 getMemberAdminIPCheck() 함수를 아래로 바꿔주시면 됨.
function getMemberAdminIPCheck() { $db_info = Context::getDBInfo(); $admin_ip_list = $db_info->admin_ip_list; $admin_ip_list = explode(",",$admin_ip_list); $oMemberModel = &getModel('member'); $ip = $_SERVER['REMOTE_ADDR']; $falg = false; foreach($admin_ip_list as $admin_ip_list_key => $admin_ip_value) { if(preg_match('/^\d{1,3}(?:.(\d{1,3}|\*)){3}\s*$/', $admin_ip_value, $matches) && $ip) { $admin_ip = $matches[0]; /* 관리자 IP대역 오류수정전 원본 $admin_ip = str_replace('*','',$admin_ip); $admin_ip_patterns[] = preg_quote($admin_ip); $admin_ip_pattern = '/^('.implode($admin_ip_patterns,'|').')/'; */ $admin_ip_pattern = preg_quote($admin_ip); $admin_ip_pattern = "/^".str_replace('\\*','\\d{1,3}', $admin_ip_pattern) . "/"; if(preg_match($admin_ip_pattern, $ip, $matches)) return true; $flag = true; } } if(!$flag) return true; return false; }
-
[sql] 쿼리로 문자열 검색해서 일괄 치환하기
-
[php] XE 관리자 IP대역 설정 오류 해결법
-
[c] 64bit 머신에서 inet_ntoa() 사용시 Segment fault 대처 방법법
-
[ios] NSString 간단한 정규식 사용법
-
[ios] iOS 6.0 이상 회전 하기 (이전 버전과 비교 변경 부분)
-
[ios] 네트워크 인디케이터(NetworkActivityIndicator) 작동
-
[js] 주소표시줄 URL 읽어오기 (변경까지)
-
[linux] CentOS 6.x Cati 설치 (yum)
-
[ios] UIWebView에서 NSURLRequest에 Cookie 실어 보내기
-
[ios] UIWebView 쿠키 유지
-
[php] substr() 한글 자를 때 깨짐 방지
-
[linux] iconv를 이용하여 euc-kr 문서를 utf-8로 대량으로 변환하기