최근에 그누보드로 작업을 하는데..
빈번하게 "정상적으로 로그인하여 접근하시기 바랍니다."라는 메시지를 봤다
관리자 계정으로 정상적으로 로그인을 했는데도 말이다..
아무래도 관리자를 확인하는 로직에 문제가 있는것이 아닌가 싶어 확인을 해봤더니
get_real_client_ip() function에 문제가 있는것으로 확인 되었다
나는 그누보드를 cloudflare뒷단에 두었는데 cloudflare가 중간에서 캐싱을 해버리니 get_real_client_ip()가 정상적으로 작동하지 않던 문제였는데
더 정확하게는 $_SERVER['REMOTE_ADDR']이 cloudflare서버의 아이피를 가져오고 이 아이피는 빈번하게 변경이 되어버리니 그누보드에서 생성하는 관리자키를 생성할때 취하는 방식인 md5($member['mb_datetime'] . get_real_client_ip() . $_SERVER['HTTP_USER_AGENT']); 로 생성을 할때 get_real_client_ip()값이 cloudflare의 값으로 일정시간마다 변하는 유동적인 값을 가져오기에 md5로 해쉬화시킨값이 계속 변경이 되고 결과적으로 "정상적으로 로그인하여 접근하시기 바랍니다."를 계속 봐야한다는것이다.
그래서 lib/common.lib.php 파일 3818번째줄에 다음3줄을 추가하였다
if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}
그러면 기존 $_SERVER['REMOTE_ADDR'] 값을 cloudflare에서 받아오다가 $_SERVER["HTTP_CF_CONNECTING_IP"] 에서 값을 받아오게 된다. 그러면 의도한대로 잘 작동을 한다.
'관심거리' 카테고리의 다른 글
타우랑가를 가볼까 했지만 오클랜드로.. (0) | 2023.01.16 |
---|---|
귀여운 손님 (0) | 2023.01.16 |
화이자 백신 2차 맞음! (0) | 2021.10.02 |
이상하게 줄어들지 않는 확진자 (0) | 2021.09.19 |
전복 가즈아!!!!!!!!!! (2) | 2021.09.15 |