ThinkPHP 프로젝트에서 서버 측으로 https://my.ipin.io/info를 호출하면 외부 인터넷에 접근할 때 사용하는 서버 출구 IP를 확인할 수 있습니다. 운영 진단, 프록시 확인, 클라우드 지역 확인에 적합합니다.
API 설명
서버 측 호출은 서버 출구 IP를 확인하고, 공개 네트워크에서 보이는 IP, 국가, 지역, 도시를 반환합니다.
{"ip":"185.220.236.7","country":"TW","region":"Taiwan","city":"Taipei"}
적용 시나리오
이 시나리오들은 IP 정보 인터페이스의 가치를 보여주며 서버 IP와 방문자 IP를 명확히 구분합니다.
- 이 시나리오들은 IP 정보 인터페이스의 가치를 보여주며 서버 IP와 방문자 IP를 명확히 구분합니다.
- ThinkPHP에서 서버 출구 IP를 확인하는 방법
- API 설명
- SEO 및 UX 권장사항
구현 로직
구현 전에 요청 주체를 확인해야 합니다. 서버 요청은 서버 IP를 반환하고 브라우저 요청은 방문자 IP를 반환합니다.
- 구현 전에 요청 주체를 확인해야 합니다. 서버 요청은 서버 IP를 반환하고 브라우저 요청은 방문자 IP를 반환합니다.
- 서버 측 호출은 서버 출구 IP를 확인하고, 공개 네트워크에서 보이는 IP, 국가, 지역, 도시를 반환합니다.
- 아래 예시는 모두
https://my.ipin.io/info를 직접 사용하며, 주석과 화면 문구도 현지화했습니다. - 기본 콘텐츠는 완전하고 읽을 수 있어야 하며, 지역 콘텐츠는 향상 요소로 사용해야 합니다. 검색엔진은 안정적인 콘텐츠를 수집하고, API 실패 시에도 페이지는 사용할 수 있습니다.
코드 예시
아래 예시는 모두 https://my.ipin.io/info를 직접 사용하며, 주석과 화면 문구도 현지화했습니다.
ThinkPHP Controller
<?php
namespace app\controller;
use app\BaseController;
class IpController extends BaseController
{
public function server()
{
$default = [
'ip' => '알 수 없음',
'country' => '알 수 없음',
'region' => '알 수 없음',
'city' => '알 수 없음',
];
try {
// 서버 측에서 /info를 호출하여 서버 출구 IP를 확인합니다.
$json = @file_get_contents('https://my.ipin.io/info');
$data = json_decode($json, true);
$info = is_array($data) ? array_merge($default, $data) : $default;
} catch (\Throwable $e) {
$info = $default;
}
return view('server_ip', ['info' => $info]);
}
}
server_ip.html
<div class="ip-card">
<h2>서버 출구 IP 정보</h2>
<p>IP:{$info.ip|default='알 수 없음'}</p>
<p>Country:{$info.country|default='알 수 없음'}</p>
<p>Region:{$info.region|default='알 수 없음'}</p>
<p>City:{$info.city|default='알 수 없음'}</p>
</div>
SEO 및 UX 권장사항
기본 콘텐츠는 완전하고 읽을 수 있어야 하며, 지역 콘텐츠는 향상 요소로 사용해야 합니다. 검색엔진은 안정적인 콘텐츠를 수집하고, API 실패 시에도 페이지는 사용할 수 있습니다.
흔한 실수
다음 문제들은 글의 정확성, 코드 사용성, API 설명의 신뢰도에 영향을 줍니다.
- 다음 문제들은 글의 정확성, 코드 사용성, API 설명의 신뢰도에 영향을 줍니다.
- 기본 콘텐츠는 완전하고 읽을 수 있어야 하며, 지역 콘텐츠는 향상 요소로 사용해야 합니다. 검색엔진은 안정적인 콘텐츠를 수집하고, API 실패 시에도 페이지는 사용할 수 있습니다.
- 구현 전에 요청 주체를 확인해야 합니다. 서버 요청은 서버 IP를 반환하고 브라우저 요청은 방문자 IP를 반환합니다.
- 이 시나리오들은 IP 정보 인터페이스의 가치를 보여주며 서버 IP와 방문자 IP를 명확히 구분합니다.
정리
서버 측 호출은 서버 출구 IP를 확인하고, 공개 네트워크에서 보이는 IP, 국가, 지역, 도시를 반환합니다.
자주 묻는 질문
아래 질문은 이 글의 구현 내용에 맞춰 별도로 작성되었으며 현재 주제와 직접 관련됩니다.
질문:왜 요청 주체를 구분해야 하나요?
답변:서버 호출은 서버를 나타내고 브라우저 호출은 방문자를 나타내기 때문입니다.
질문:왜 기본 콘텐츠가 필요한가요?
답변:SEO, 첫 렌더링, API 실패 시 안정성을 보호하기 위해서입니다.
질문:국가를 더 추가할 수 있나요?
답변:네. 매핑 테이블에 국가 코드를 추가하면 됩니다.
질문:백엔드 동작이 바뀌나요?
답변:별도 서버 로직을 추가하지 않는 한 표시만 바뀝니다.
질문:API가 실패하면 어떻게 되나요?
답변:기본 콘텐츠, 링크 또는 메시지를 유지합니다.