(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>
로 변경하면 될듯싶네요
답변을 작성하시기 전에 로그인 해주세요.