setHeaderAccessControlAllowOrigin(). PHP의 cors 처리용

/**
 * setHeaderAccessControlAllowOrigin
 * CORS 처리용
 *
 * @param  boolean $anyone ture=아무나허용
 * @return void
 */
function setHeaderAccessControlAllowOrigin($anyone=false){
    if($anyone){
        header('Access-Control-Allow-Origin: *'); 
        return;
    }
    // CORS 설정
    $referer = isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:null;
    if(!$referer){
        // header('Access-Control-Allow-Origin: *'); 
    }else{
        $referer_info = parse_url($referer);
        $referer_scheme = $referer_info['scheme'];
        $referer_host = $referer_info['host'];
        $referer_port = isset($referer_info['port'])?$referer_info['port']:null; //int or null
        // var_dump($referer_port);
        if(strpos($referer_host,'domain.com')!==false || strpos($referer_host,'otherdomain.co.kr')!==false){
            $allow_domain = "{$referer_scheme}://{$referer_host}".(($referer_port!==null)?':'.$referer_port:'');
            header("Access-Control-Allow-Origin: {$allow_domain}"); 
        }else{
            // header('Access-Control-Allow-Origin: *'); 
        }
    }
}



댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
6.29
6.30
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
7.10
7.11
7.12
7.13
7.14
7.15
7.16
7.17
7.18
7.19
7.20
7.21
7.22
7.23
7.24
7.25
7.26
7.27
7.28
7.29
7.30
7.31
8.1
8.2