개발자 인생/그누보드5

"url에 타 도메인을 지정할 수 없습니다." 메세지 없애는 HOOK 기능

잘나가는개발자 2024. 8. 27. 01:28
반응형

로그인, 회원가입 후 다른 사이트로 이동 하고 싶은 경우

"url에 타 도메인을 지정할 수 없습니다." 메세지를 통과 또는 URL를 지정하여 통과하도록 하는 HOOK 기능

 

- 메세지 무조건 안뜨게하는 방법 (보안 취약)

// extend/user.extend.php
 
// 동일한 host url 인지 check_url_host 함수
// "url에 타 도메인을 지정할 수 없습니다." 메세지 안뜨게하기(보안 취약)
if (! function_exists('check_url_host_before_pass')) {
    add_replace('check_url_host_before', 'check_url_host_before_pass', G5_HOOK_DEFAULT_PRIORITY, 5);
    function check_url_host_before_pass($host, $url, $msg, $return_url, $is_redirect)
    {        
        return 'is_checked';
    }
}

- URL 지정하여 통과하는 방법 (권장)

// extend/user.extend.php
 
// 동일한 host url 인지 check_url_host 함수
// 도메인 지정하여 통과
if (! function_exists('check_same_url_host_pass')) {
    add_replace('check_same_url_host', 'check_same_url_host_pass', G5_HOOK_DEFAULT_PRIORITY, 6);
    function check_same_url_host_pass($check_host, $p, $host, $is_host_check, $return_url, $is_redirect) 
    {
        $ignore_host = array('www.naver.com', 'www.daum.net'); // URL 지정
        if (in_array($p['host'], $ignore_host)) {
            return false;    
        }
        
        return $check_host;
    }
}

- 테스트 (그냥 단순 테스트)

// extend/user.extend.php
 
check_url_host('https://www.naver.com');

 

감사합니다.

반응형