코드이그나이터 기반 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 35,536
공지 씨아이보드 3 배포 안내 +20 icon 관리자 11-09 37,647
51 Membermodify.php 에러 +1 스마일 11-01 2,476
50 comment 출력에 strip_tags 추가 부탁. +3 스마일 10-29 2,501
49 Social login 에러 +1 스마일 10-04 2,400
48 오류제보합니다. +1 아기새 10-02 4
47 dhtml_editor_helper Parse error Chris 08-09 2,989
46 게시물에 이미지 등록 후 삭제시 HJJ 07-28 2,991
45 글을 입력하고 수정/삭제/목록/답변 +1 마젠토 06-29 3,162
44 게시판 수정시 저장을 누를때 마젠토 06-29 2,842
43 베이직에서 프리미엄버전 (2.0) 으로 패치 업그레이드시 데이터베이스 … +1 Tammy 06-22 2,870
42 안녕하세요 +1 팔팔이 06-21 7
41 회원가입시 +1 팔팔이 06-21 7
40 Board_post 컨트롤러 nimrh2k 10-07 4
39 배너관리 - 배너수정시 캐시삭제오류 +2 nimrh2k 07-06 11
38 웹 관련 보고서 입니다. 김남훈 05-30 8
37 force_download 시 IE 와 EDGE 에서 한글 깨짐 현상 +1 BPP 05-28 9,518
36 게시판관리 댓글기능 : 댓글 입력시 이모티콘 +1 주니7 05-17 9
35 소소한 코딩 미스.. +1 주니7 05-10 9
34 버그 신고합니다. +2 쓰나리 04-04 5
33 상세보기 페이지 진입 시 js 에러 +1 김도완 03-15 9
32 쪽지오류 신고 +2 Chris 03-14 5