(isset($_SERVER['https'])) && $_SERVER['https']=='on' 조건 크롬에서 오류

(isset($_SERVER['https'])) && $_SERVER['https']=='on' 조건 크롬에서 오류

QA

(isset($_SERVER['https'])) && $_SERVER['https']=='on' 조건 크롬에서 오류

본문

영카트로 제작된 쇼핑몰에 호스팅사를 통해 ssl 을 심어놓은 상태입니다.

 

추가로 작업한건

 

config.php 에 보안서버 도메인 부분에 추가만 했습니다.

 


/*
보안서버 도메인
회원가입, 글쓰기에 사용되는 https 로 시작되는 주소를 말합니다.
포트가 있다면 도메인 뒤에 :443 과 같이 입력하세요.
보안서버주소가 없다면 공란으로 두시면 되며 보안서버주소 뒤에 / 는 붙이지 않습니다.
입력예) https://www.domain.com:443/gnuboard5
*/
define('G5_DOMAIN', 'https://www.aaa.com');
define('G5_HTTPS_DOMAIN', 'https://www.aaa.com');

 

그래서 https로 접속은 잘 되는데...

 

회원가입 폼에서 주소검색을 불러오는 부분과 주문서작성 폼에서 신용카드결제로 체크후 주문하기 할때


if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') {  //https 통신일때
    https 로 불러옴
}else{
    http 로 불러옴
}

 

https 통신상태에 따라 스크립트 불러오는 url 을 https 로 시작할지 http 로 시작할지 정하는 조건이 들어가있는데

 

첫번째, config.php 제일 하단에 다음 주소js 불러오는 부분


if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') {   //https 통신일때 daum 주소 js
    define('G5_POSTCODE_JS', '<script src="https://spi.maps.daum.net/imap/map_js_init/postcode.v2.js"></script>');
} else {  //http 통신일때 daum 주소 js
    define('G5_POSTCODE_JS', '<script src="http://dmaps.daum.net/map_js_init/postcode.v2.js"></script>');
}

두번째, /shop/lg/orderform.1.php 파일 8번째 줄 crossplatform.js 불러오는 부분


<script language="javascript" src="<?php echo (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 'https' : 'http'; ?>://xpay.uplus.co.kr/xpay/js/xpay_crossplatform.js" type="text/javascript"></script>

 

현재 발견된 페이지는 2페이지이고 2페이지 내에서 콘솔창에 mixed content 경고가 뜹니다...ㅠㅠㅠ

 

저 https 통신상태조건이 먹히질 않는것 같은데 어떻게 해야 저 조건이 먹힐까요...??ㅠㅠㅠ

 

아 추가로 이게 ie에서는 상관이 없는데 크롬에서만 버튼들이 먹통이되네요...ㅠㅠㅠ

 

도와주세요;;ㅠㅠㅠ

 

 

이 질문에 댓글 쓰기 :

답변 1

조금더 간단한 방법으로 접근해보시죠

 

서버 변수중에

$_SERVER["REQUEST_SCHEME"] 라는 값이 있습니다.

 

이 값은

http이면 http

https면 https

의 값을 가지게 됩니다.

 

따라서, 

도메인앞에 이 변수를 사용하면 해결되겠죠

 


if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') {
=>를
if($_SERVER["REQUEST_SCHEME"]  == "https") {
로 변경
 
<script language="javascript" src="<?php echo (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 'https' : 'http'; ?>://xpay.uplus.co.kr/xpay/js/xpay_crossplatform.js" type="text/javascript"></script>
는
 
<script language="javascript" src="<?php echo $_SERVER["REQUEST_SCHEME"] ?>://xpay.uplus.co.kr/xpay/js/xpay_crossplatform.js" type="text/javascript"></script>
로 변경하면 될듯싶네요
 
답변을 작성하시기 전에 로그인 해주세요.
전체 345
QA 내용 검색
filter #ssl ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT