그누보드 아미나 글쓰기 캡챠 토큰 오류 특히 HTTPS 그리고 cloudflare
그누보드 아미나 글쓰기 캡챠 토큰 오류 특히 HTTPS
1. utf-8 bom. 젤 흔한 경우. php 전용 프로그램이 아닌 윈도우에서 메모장등으로 수정하는 경우에 생김..
주로 서버이전한 경우 data/dbconfig.php
2. extend/ 여기 폴더에 화일 넣으면서 <?php ?> php 코드 앞뒤에 공백이나 문자열 달라붙은경우
3. 서버 용량 다 찾을때...화일 생성을 못해서
4. https에서만 생긴다면
/common.php 에서
http인지 https인지 검사하는데 $_SERVER['https'] 라는게
print_r($_SERVER)로 찍어보는데 없네?
$result['url'] = $http.$host.$port.$user.$root; 이것이 $g5_path['url'] 로 되는 것이니
여기에서 $g5_path['url']을 생성해서 config.php에서
// URL 은 브라우저상에서의 경로 (도메인으로 부터의)
이러니 https로 접근해서도 계속 http로 셋팅이 되어버리니 G5_URL은 HTTP로만 출력되어지고 이와 관련된
이런 쪽이 싹다 주소가 HTTP로 되어서 HTTPS에서
MIXED CONTENTS 오류로 나오고
글쓰기에서 캡챠나 토큰 정보등의 오류로 되는 현상임
PHP 에서 $_SERVER 함수는
'HTTPS'
Set to a non-empty value if the script was queried through the HTTPS protocol.
https://www.php.net/manual/en/reserved.variables.server.php
클라우드 플레에서 메뉴얼에 안보이지만 출력되는 경우는
$_SERVER['http_x_forwarded_proto'] 라는 값이 있는데 이것이 HTTPS를 알려준다. 그래서 이값을 이용하는 조건을 추가로 넣어줘야된다.
즉!
common.php에서 기존 http 값 아래줄에
if($http == "http://") $http = 'http' . ((isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO']=='https') ? 's' : '') . '://';
를 추가해준다.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For