코드이그나이터 기반 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 운영을 시작합니다 +10 icon 관리자 11-19 9,690
공지 씨아이보드 3 배포 안내 +18 icon 관리자 11-09 11,384
68 아에 실행이 안됩니다 junseopWhang 11-28 136
67 예치금 deposit 컨트롤러 오류 shiaru 10-08 4
66 틀린글자 배고파 05-11 1
65 ciboard_pro 3.0.3 관리자 회원정보 수정 배열선언 문제 -71 12-18 1
64 설치할때 문제 있네여 히팝디벨롭 03-24 1
63 facebook plugin 버전업 필요 도시인 02-08 4
62 사소한거 하나 +1 ceoseo 12-06 5
61 다음주소 로딩의 건. ceoseo 12-05 2
60 사소한 버그들 --> 각종 태그 안닫힘류. +1 ceoseo 12-03 5
59 5MB 넘는 이미지 첨부 또는 사진넣기로 추가시 +1 적토마 11-19 3
58 기본 폰트 +1 스마일 11-18 481
57 글 수정시 파일 교체하면 모든 게시글의 파일이 교체되는 문제 +2 강건너사자 11-15 476
56 안녕하세요. +1 위토즈소프트 11-15 4
55 Config_model.php > meta_update() 의 empty… +3 강건너사자 11-14 599
54 thumbnail directory 퍼미션 스마일 11-07 5
53 Social Login : naver 에러 +1 스마일 11-03 444
52 https 웹사이트 패치 스마일 11-03 459
51 Membermodify.php 에러 +1 스마일 11-01 422
50 comment 출력에 strip_tags 추가 부탁. +3 스마일 10-29 437
49 Social login 에러 +1 스마일 10-04 465