접근차단 ip 코드의 위치 다시 재수정
This commit is contained in:
103
common.php
103
common.php
@ -358,45 +358,6 @@ if(XenoPostToForm::check()) {
|
|||||||
// 기본적으로 사용하는 필드만 얻은 후 상황에 따라 필드를 추가로 얻음
|
// 기본적으로 사용하는 필드만 얻은 후 상황에 따라 필드를 추가로 얻음
|
||||||
$config = get_config(true);
|
$config = get_config(true);
|
||||||
|
|
||||||
if ($is_admin != 'super') {
|
|
||||||
// 접근가능 IP
|
|
||||||
$cf_possible_ip = trim($config['cf_possible_ip']);
|
|
||||||
if ($cf_possible_ip) {
|
|
||||||
$is_possible_ip = false;
|
|
||||||
$pattern = explode("\n", $cf_possible_ip);
|
|
||||||
for ($i=0; $i<count($pattern); $i++) {
|
|
||||||
$pattern[$i] = trim($pattern[$i]);
|
|
||||||
if (empty($pattern[$i]))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
$pattern[$i] = str_replace(".", "\.", $pattern[$i]);
|
|
||||||
$pattern[$i] = str_replace("+", "[0-9\.]+", $pattern[$i]);
|
|
||||||
$pat = "/^{$pattern[$i]}$/";
|
|
||||||
$is_possible_ip = preg_match($pat, $_SERVER['REMOTE_ADDR']);
|
|
||||||
if ($is_possible_ip)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (!$is_possible_ip)
|
|
||||||
die ("<meta charset=utf-8>접근이 가능하지 않습니다.");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 접근차단 IP
|
|
||||||
$is_intercept_ip = false;
|
|
||||||
$pattern = explode("\n", trim($config['cf_intercept_ip']));
|
|
||||||
for ($i=0; $i<count($pattern); $i++) {
|
|
||||||
$pattern[$i] = trim($pattern[$i]);
|
|
||||||
if (empty($pattern[$i]))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
$pattern[$i] = str_replace(".", "\.", $pattern[$i]);
|
|
||||||
$pattern[$i] = str_replace("+", "[0-9\.]+", $pattern[$i]);
|
|
||||||
$pat = "/^{$pattern[$i]}$/";
|
|
||||||
$is_intercept_ip = preg_match($pat, $_SERVER['REMOTE_ADDR']);
|
|
||||||
if ($is_intercept_ip)
|
|
||||||
die ("<meta charset=utf-8>접근 불가합니다.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 본인인증 또는 쇼핑몰 사용시에만 secure; SameSite=None 로 설정합니다.
|
// 본인인증 또는 쇼핑몰 사용시에만 secure; SameSite=None 로 설정합니다.
|
||||||
if( $config['cf_cert_use'] || (defined('G5_YOUNGCART_VER') && G5_YOUNGCART_VER) ) {
|
if( $config['cf_cert_use'] || (defined('G5_YOUNGCART_VER') && G5_YOUNGCART_VER) ) {
|
||||||
// Chrome 80 버전부터 아래 이슈 대응
|
// Chrome 80 버전부터 아래 이슈 대응
|
||||||
@ -624,6 +585,57 @@ if (isset($_SESSION['ss_mb_id']) && $_SESSION['ss_mb_id']) { // 로그인중이
|
|||||||
// 자동로그인 end ---------------------------------------
|
// 자동로그인 end ---------------------------------------
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 회원, 비회원 구분
|
||||||
|
$is_member = $is_guest = false;
|
||||||
|
$is_admin = '';
|
||||||
|
if (isset($member['mb_id']) && $member['mb_id']) {
|
||||||
|
$is_member = true;
|
||||||
|
$is_admin = is_admin($member['mb_id']);
|
||||||
|
$member['mb_dir'] = substr($member['mb_id'],0,2);
|
||||||
|
} else {
|
||||||
|
$is_guest = true;
|
||||||
|
$member['mb_id'] = '';
|
||||||
|
$member['mb_level'] = 1; // 비회원의 경우 회원레벨을 가장 낮게 설정
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($is_admin != 'super') {
|
||||||
|
// 접근가능 IP
|
||||||
|
$cf_possible_ip = trim($config['cf_possible_ip']);
|
||||||
|
if ($cf_possible_ip) {
|
||||||
|
$is_possible_ip = false;
|
||||||
|
$pattern = explode("\n", $cf_possible_ip);
|
||||||
|
for ($i=0; $i<count($pattern); $i++) {
|
||||||
|
$pattern[$i] = trim($pattern[$i]);
|
||||||
|
if (empty($pattern[$i]))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
$pattern[$i] = str_replace(".", "\.", $pattern[$i]);
|
||||||
|
$pattern[$i] = str_replace("+", "[0-9\.]+", $pattern[$i]);
|
||||||
|
$pat = "/^{$pattern[$i]}$/";
|
||||||
|
$is_possible_ip = preg_match($pat, $_SERVER['REMOTE_ADDR']);
|
||||||
|
if ($is_possible_ip)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (!$is_possible_ip)
|
||||||
|
die ("<meta charset=utf-8>접근이 가능하지 않습니다.");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 접근차단 IP
|
||||||
|
$is_intercept_ip = false;
|
||||||
|
$pattern = explode("\n", trim($config['cf_intercept_ip']));
|
||||||
|
for ($i=0; $i<count($pattern); $i++) {
|
||||||
|
$pattern[$i] = trim($pattern[$i]);
|
||||||
|
if (empty($pattern[$i]))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
$pattern[$i] = str_replace(".", "\.", $pattern[$i]);
|
||||||
|
$pattern[$i] = str_replace("+", "[0-9\.]+", $pattern[$i]);
|
||||||
|
$pat = "/^{$pattern[$i]}$/";
|
||||||
|
$is_intercept_ip = preg_match($pat, $_SERVER['REMOTE_ADDR']);
|
||||||
|
if ($is_intercept_ip)
|
||||||
|
die ("<meta charset=utf-8>접근 불가합니다.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** @var array $write 글 데이터 */
|
/** @var array $write 글 데이터 */
|
||||||
$write = array();
|
$write = array();
|
||||||
@ -663,19 +675,6 @@ if ($config['cf_editor']) {
|
|||||||
define('G5_EDITOR_LIB', G5_LIB_PATH."/editor.lib.php");
|
define('G5_EDITOR_LIB', G5_LIB_PATH."/editor.lib.php");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 회원, 비회원 구분
|
|
||||||
$is_member = $is_guest = false;
|
|
||||||
$is_admin = '';
|
|
||||||
if (isset($member['mb_id']) && $member['mb_id']) {
|
|
||||||
$is_member = true;
|
|
||||||
$is_admin = is_admin($member['mb_id']);
|
|
||||||
$member['mb_dir'] = substr($member['mb_id'],0,2);
|
|
||||||
} else {
|
|
||||||
$is_guest = true;
|
|
||||||
$member['mb_id'] = '';
|
|
||||||
$member['mb_level'] = 1; // 비회원의 경우 회원레벨을 가장 낮게 설정
|
|
||||||
}
|
|
||||||
|
|
||||||
// 테마경로
|
// 테마경로
|
||||||
if(defined('_THEME_PREVIEW_') && _THEME_PREVIEW_ === true)
|
if(defined('_THEME_PREVIEW_') && _THEME_PREVIEW_ === true)
|
||||||
$config['cf_theme'] = isset($_GET['theme']) ? trim($_GET['theme']) : '';
|
$config['cf_theme'] = isset($_GET['theme']) ? trim($_GET['theme']) : '';
|
||||||
|
|||||||
Reference in New Issue
Block a user