한국 접속자와 해와 접속자 분기
본문
안녕하세요.
그누보드에서 한국 접속자에게는 A 문자가 보이고 , 외국 접속자에게 B 가 보이게
분기 할 수 있는 방법이 있을까요?
<?php if ($isKorean): ?>
<!-- 한국 사용자에게 보이는 콘텐츠 -->
<div>안녕하세요, 한국 사용자님!</div>
<?php else: ?>
<!-- 해외 사용자에게 보이는 콘텐츠 -->
<div>Hello, international visitor!</div>
<?php endif; ?>
답변 6
클라우드프론트 쓰시면 CloudFront-Viewer-Country
찾아보세요. 클라우드플레어 쓰면 HTTP_CF_IPCOUNTRY
$_SERVER로 찍을 수 있습니다. 제가 aws랑은 안친해서 클플만 직접해봤고 aws건 검색해보니 있네요
<?php $ip = $_SERVER['REMOTE_ADDR'];$country = json_decode(file_get_contents("http://ipinfo.io/{$ip}/json"));echo ($country->country==='KR') ? "<div>안녕하세요, 한국 사용자님!</div>" : "<div>Hello, international visitor!</div>"; ?>
geoip로 아이피별 국가 판별해 분기하거나 브라우저 언어 설정 알아내 한국어면 이거 아니면 저거 식으로 보이는 방법이 있을 듯 합니다. 자세한 건 ChatGPT에게 물어보시면 될 듯.
https://homzzang.com/b/free-5330 참고해 보세요.
한국사용자 해외사용자 구분은 현재로써는 나라를 어떻게 구분하느냐 인듯 합니다.
요기 좋은게 있네요
KR 이라면 어떻게 아니라면 어떻게 하심 되겠네요
다만, 저 자료 자체가 2016년도 꺼라서, IP 부분 데이터는 조금 업데이트 해야 될 것 같습니다.
제가 올린 자료를 토대로 할 수 있습니다.
https://sir.kr/g5_tip/21060?sfl=wr_subject&stx=%EC%95%84%EC%9D%B4%ED%94%BC
JSON 으로 반환 되는데
국가 코드가 같이 날라옵니다.
1. GEO IP 로 서버에서 정보를 받아 구현
2. 브라우져 언어로 사용자 구분
javascript sample
<script>
// 브라우저 언어 가져오기
const browserLanguage = navigator.language;
// 언어 코드에 따라 사용자 구분
switch (browserLanguage) {
case "en-US":
// 영어 사용자
break;
case "ko-KR":
// 한국어 사용자
break;
case "ja-JP":
// 일본어 사용자
break;
default:
// 기타 언어 사용자
}
</script>