자바스크립트를 사용하여 다음 페이지(http://l2.io/ip 또는 기타)에서 내 IP 주소를 읽어 내 변수
function getMyIP() {
var myIp;
...
return myIp;
}
어떻게 하면 되나요?
링크된 사이트]1를 확인하면 IP 주소가 포함된 전역 변수로 설정되는 ?var=desiredVarName
매개변수를 전달하는 스크립트 태그를 포함할 수 있습니다:
<script type="text/javascript" src="http://l2.io/ip.js?var=myip"></script>
<!-- ^^^^ -->
<script>alert(myip);</script>
[Demo][2]
프록시나 스푸핑된 요청 헤더를 사용하여 쉽게 스푸핑할 수 있다고 말할 필요는 없지만, 어떤 경우든 주목할 가치가 있습니다.
페이지가 'https' 프로토콜을 사용하여 제공되는 경우 대부분의 브라우저는 스크립트 및 이미지를 포함한 동일한 페이지의 콘텐츠를 'http' 프로토콜을 사용하여 차단하므로 옵션이 다소 제한됩니다. 하루 조회수가 5,000건 이상인 경우 스마트 IP API를 사용할 수 있습니다. 예를 들어
<script>
var myip;
function ip_callback(o) {
myip = o.host;
}
</script>
<script src="https://smart-ip.net/geoip-json?callback=ip_callback"></script>
<script>alert(myip);</script>
[데모][4]
편집: 이 'https' 서비스의 인증서가 만료되었으므로 사용자가 수동으로 예외를 추가해야 합니다. API를 직접 열어 인증서 상태를 확인하세요: https://smart-ip.net/geoip-json
백엔드 서버 로직이 있는 경우 가장 탄력적이고 간단한 방법은 스크립트
태그 안에 요청자의 IP를 출력하는 것인데, 이렇게 하면 외부 리소스에 의존할 필요가 없습니다. 예를 들어
PHP:
<script>var myip = '<?php echo $_SERVER['REMOTE_ADDR']; ?>';</script>
이 관련 답변에 더 견고한 PHP 솔루션(프록시에 의해 설정되는 헤더를 고려한)도 있습니다.
C#:
<script>var myip = '<%= Request.UserHostAddress %>';</script>