접근차단 IP 설정 함수 > 그누보드5 팁자료실

그누보드5 팁자료실

접근차단 IP 설정 함수 정보

접근차단 IP 설정 함수

본문


function ip_policy($ip_addr = null, $do = 'block') {
    global $g5, $config;

    if (empty($ip_addr)
        || !in_array($do, array('block', 'allow'))) {
        return false;
    }

    $block_addresses = explode("\n", $config['cf_intercept_ip']);

    if (sizeof($block_addresses) === 1
        && empty($block_addresses[0])
        && $do === 'allow') {
        return true;
    }

    $block_addresses = array_flip($block_addresses);

    switch ($do) {
    case 'block':
        $block_addresses[ $ip_addr ] = 1;
        unset($block_addresses['']);
        break;
    case 'allow':
        unset($block_addresses[ $ip_addr ]);
        unset($block_addresses['']);
        break;
    }

    $sql_data = array(
        'cf_intercept_ip' => implode("\n", array_keys($block_addresses)),
    );

    $sql = sprintf("UPDATE `{$g5['config_table']}`
        SET cf_intercept_ip = \"%s\"
        WHERE 1", implode("\n", array_keys($block_addresses)));
    sql_query($sql);
}


차단 설정은 ip_policy('192.168.0.1', 'block');
차단 설정 해제는 ip_policy('192.168.0.1', 'allow');
추천
0
  • 복사

댓글 1개

© SIRSOFT
현재 페이지 제일 처음으로