[php] 그누보드 보안 SSL 적용 (https 강제 리다이렉션하기)
보안SSL이란?
SSL이란 Security Socket Layer의 약자로 Netscape에서 웹서버(웹사이트)와 사용자PC(브라우저)간의 주고 받는 데이터의 암호화/보안을 위해 만든 프로토콜. 보안서버가 구축된 웹서버는 해커가 중간에 데이터를 가로채더라도 데이터가 암호화 되어있어 개인정보 노출을 막을 수 있다.
이제는 보안서버가 선택이 아니라 필수가 된 것 같다. 보안서버를 적용하지 않으면 크롬에서는 아예 주의요함이라고 뜬다..;;
호스팅사에 보안SSL 구축 신청을 한 뒤 셋팅이 완료되면 그누보드에서는 몇군데 설정만 변경해주면 바로 보안 서버 적용이 가능하다.
아래의 방법은 사이트 전체에 보안 SSL를 적용하는 방법이다.
1. 기본 도메인 변경하기
copnfig.php 파일 에서 G5_DOMAIN, G5_HTTPS_DOMAIN에 모두 https://로 시작되는 도메인을 넣어주고 포트번호를 넣어준다. 포트번호는 서버마다 다르니 서버측에 물어봐야한다.
define('G5_DOMAIN', 'https://xxx.com:443');
define('G5_HTTPS_DOMAIN', 'https://xxx.com:443');
2. 메타태그 URL변경 (선택)
헤드쪽에서 메타태그에 대표 URL을 지정해놨다면 이부분도 https로 변경한다.
<meta property="og:url" content="https://xxx.com" />
3. 강제 리다이렉션 코드 삽입
head.sub.php 아래쪽에 다음의 코드를 넣어준다.
포트가 443이 아닌 경우에는 $ssl_port = "000"; 이 부분에 포트 번호를 넣어준다.
<?php
if($_SERVER['HTTPS'] != "on"){
$ssl_port = ""; // 443 포트를 사용하지 않는경우에 이용할 포트번호 입력
if ($ssl_port == "") {
$redirect_URL = "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
} else {
$redirect_URL = "https://".$_SERVER['HTTP_HOST'].":".$ssl_port.$_SERVER['REQUEST_URI'];
}
header("Location: ".$redirect_URL);
}
?>
4. 그 외
<?php G5_URL;?>, <?php G5_THEME_CSS_URL;?>과 같이 그누 변수를 사용하지 않고
직접 도메인을 입력한 부분들을 찾아 직접 https 도메인으로 변경해준다.
- 에디터로 삽입한 이미지 경로
- CSS, JS 스크립트 경로 체크
주소창으로 잘 적용 되었는지 확인 하면 끝!