추천하고 싶으나, 추천할 수 없습니다
CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 7.2 |
어떤 글은 추천이 되지만,
어떤 글은 추천할 수 없습니다~ 라고 합니다.
예를들어,
한 게시판에 다른 사람이 쓴 5개의 글이 있다면,
2개 정도는 추천이 되고, 3개 정도는 추천할 수 없다고 하는데...
최고관리자로 추천하면 추천이 됩니다.
제 문제라기보다, 회원들도 다른 회원의 글에 추천할 수 없다하니...
어떤 문제가 있는 것일까요?
AWS EC2 기반입니다.
댓글 6
혹시 클플 쓰시시면 진짜 아이피를 알수 있게 조치 하셔야 합니다
1. 이미 해당 아이디로 추천한 경우
2. 이미 해당 아이피로 추천한 경우(이경우 회원이 다르더라도 추천이 안됩니다.)
클라우드플레어나 로드밸런서 등 웹서버 앞에 프록시 서버가 있는 경우 XE에서 실제 접속자 아이피를 구해올수 있게 조치하셔야 합니다.
클라우드플레어의 경우 https://gist.github.com/kijin/25be59ac4b0d7c5ef722 적용하시면 되며 로드밸런서 사용중이신경우 수동으로 프록시 서버에서 보내주는 아이피 정보를 $_SERVER['REMOTE_ADDR']에 대입해야 합니다.
아마존 AMI+ELB 에서는 리얼IP를 $_SERVER['HTTP_X_FORWARDED_FOR'] 로 가져오네요.
/common/constants.php : 54의 클라우드플레어 윗줄에서
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
를 추가하여 해결하였습니다. 감사합니다. (코어를 수정하는게 다소 마음에 걸리긴 합니다만...)
앞선 코드는 삭제하고 apache2의 환경설정을 수정하여 해결하였습니다.
RemoteIPHeader X-Forwarded-For
도움 감사드립니다.
설정하는 위치가 바뀌었을 뿐 X-Forwarded-For 위조 문제는 여전합니다.
보안을 신경쓰고 싶으시다면 웹서버 방화벽을 로드밸런서 아이피 이외에서 들어오는 요청을 차단하도록 구성하시거나, 로드밸런서 아이피에서 오는 요청일 때만 X-Forwarded-For를 오버라이드하도록 설정하시면 됩니다.
RemoteIPHeader 와
RemoteIPTrustedProxy 가 세트더라구요. ^^;
같이 세팅 마쳤습니다. 섬세한 조언 진심으로 감사합니다.