XE CloudFlare 사용시 방문자 IP와 SSL 접속여부가 정확하게 파악되지 않는 문제

Posted by 대혀니_
2016. 3. 5. 00:37 IT/XE

CloudFlare 사용시 방문자 IP와 SSL 접속여부가 제대로 파악되지 않아서 여러 가지 에러가 발생하는 경우가 있습니다.

CloudFlare에서 방문자 정보를 CF-Visitor, CF-Connecting-IP 등 웹표준이 아닌 헤더로 넘겨주기 때문인데요...


서버 설정을 변경하거나 mod_cloudflare처럼 CloudFlare에서 제공하는 아파치 모듈을 설치하면

이런 헤더도 사용할 수 있게 되지만, 일반 웹호스팅에서는 이것이 쉽지 않습니다.


이런 문제를 겪으시는 분은 아래 링크의 코드를 config/config.user.inc.php 파일에 넣으면 됩니다.

(파일이 존재하지 않는 경우 새로 만들면 됩니다.)


CloudFlare에서 넘겨주는 비표준 헤더들을

일반적으로 사용하는 $_SERVER['REMOTE_ADDR'], $_SERVER['HTTPS'] 등으로 변환시켜 주어서

기존의 프로그램들이 문제 없이 작동하도록 해줍니다.


https://gist.github.com/kijin/25be59ac4b0d7c5ef722


실행 시점 때문에 애드온으로는 구현할 수 없음을 양해 바랍니다.



XE 외에도 PHP로 작성된 웹사이트라면 모두 사용 가능하지만,

PHP 버전이나 서버 환경에 따라 차이가 있을 수 있습니다.