코드이그나이터 기반 PHP 오픈소스 게시판 : 씨아이보드

https 웹사이트 패치


https 로 웹사이트 프로토콜을 변경할 경우 여러가지 오류가 생기는데요. 기존 메뉴 내용에 http로 접근하기 떄문에 크롬에서 '주의요함'이라는 불빛이 들어옵니다. (빨간색으로) 


크롬 최신버전에서는 https 사이트에서 http 주소의 같은 주소를 막는 경우까지 있는데요, 그럴 때는 웹사이트가 전체적으로 깨집니다. 


다른 좋은 방법도 있겠지만, 일단 몇가지 함수를 변경하여 이렇게 해결하였습니다. 



/////////


CB_url_helper.php: 


-- 추가 함수 


function check_https() 

{

if ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443) {

return true; 

}

return false;

}


function fix_url($url) 

{

$url = trim($url);

if(strpos($url, 'http') === 0 && strpos($url, 'https') !== 0) {

if(check_https())

$url = 'https://'.str_ireplace('http://', '', $url);

}

return $url;

}


function my_base_url($url = '') 

{

return fix_url(base_url($url));

}


function my_site_url($url = '')

{

return fix_url(site_url($url));

}



/////////////


Managelayout.php: 수정함수  


    /**

     * 추가된 css를 리턴합니다

     */

    function display_css()

    {

        $return = '';

        $_css = $this->css;

        if ($_css) {

            foreach ($_css as $val) {

$val = fix_url($val);

                $return .= '<link rel="stylesheet" type="text/css" href="' . $val . '" />';

            }

        }

        return $return;

    }



    /**

     * 추가된 js를 리턴합니다

     */

    function display_js()

    {

        $return = '';

        $_js = $this->js;

        if ($_js) {

            foreach ($_js as $val) {

$val = fix_url($val);

                $return .= '<script type="text/javascript" src="' . $val . '"></script>';

            }

        }

        return $return;

    }


//////////////////////////


views/_layout/.../layout.php


<link rel="stylesheet" type="text/css" href="<?php echo my_base_url('assets/css/bootstrap.min.css'); ?>" />

<link rel="stylesheet" type="text/css" href="<?php echo my_base_url('assets/css/bootstrap-theme.min.css'); ?>" />

<link rel="stylesheet" type="text/css" href="//maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" />

<link rel="stylesheet" type="text/css" href="<?php echo fix_url(element('layout_skin_url', $layout)); ?>/css/style.css" />


....


<script type="text/javascript" src="<?php echo my_base_url('assets/js/jquery.hoverIntent.js'); ?>"></script>

<script type="text/javascript" src="<?php echo my_base_url('assets/js/jquery.ba-outside-events.min.js'); ?>"></script>

<script type="text/javascript" src="<?php echo my_base_url('assets/js/iscroll.min.js', 'https'); ?>"></script>

<script type="text/javascript" src="<?php echo my_base_url('assets/js/mobile.sidemenu.js'); ?>"></script>


...
그 외에 

URL 출력하는 경우마다 fix_url () 함수 추가. 



버그신고

번호 제목 글쓴이 날짜 조회수
공지 Github 운영을 시작합니다 +13 icon 관리자 11-19 48,157
공지 씨아이보드 3 배포 안내 +20 icon 관리자 11-09 47,005
31 모바일에서 쪽지보기시 서버오류가 발생합니다. +8 나이수 03-04 10
30 오류인가요? +1 가마니 02-20 3
29 CB.Basic.1.4.2 모바일 +1 wincmd 02-05 7
28 업데이트 이후 +1 stormix 02-03 5
27 버그신고 +2 INX 01-27 5
26 ssl 적용 후 레이아웃 깨짐 + 그림파일 로드 안됨 +3 썽민2 01-26 5,690
25 글쌔요 nginx라서 그런지 +3 stormix 01-26 4,075
24 버그는 아닌 것 같습니다만 설치 후 도메인 변경시 +1 썽민 01-20 3,897
23 1.3.8 +2 stormix 01-14 7
22 설치오류 +2 ChrisCheon 01-12 10
21 게시판그룹관리 오류 +1 썽민 12-30 4,625
20 베이직버전 패스워드 찾기 버그 문의 +1 썽민 12-28 3,508
19 읽는 곳(post)에서 페이지 관련 외.. +3 이그나이터 11-30 10
18 스마트에디터 게시글 작성시 썸네일의 링크가 엑박으로 나옵니다. +2 GilbertYu 11-27 6
17 개선 사항 8 +8 Tammy 11-16 11
16 버그신고 7 +3 Tammy 11-16 9
15 버그 리포트 +2 ChrisCheon 11-12 10
14 버그 신고 6 +3 Tammy 11-03 8
13 보그신고. +1 김남훈 10-30 4
12 버그 신고 5 +3 Tammy 10-27 9