>  기사  >  백엔드 개발  >  thinkphp를 사용하여 클라이언트 IP를 얻는 방법

thinkphp를 사용하여 클라이언트 IP를 얻는 방법

不言
不言원래의
2018-06-08 11:49:074297검색

이 글에서는 thinkphp가 내장된 get_client_ip 함수를 사용하는 것 외에 어떻게 클라이언트 IP를 올바르게 획득하는지 주로 소개합니다. 알아 보려면 아래를 읽어보세요.

thinkphp 프레임워크에는 클라이언트의 IP 주소를 얻기 위한 내장 get_client_ip 메소드가 있습니다. 사용 예:

$ip = get_client_ip();

thinkphp의 내장 get_client_ip 기능 외에도 다음 기능을 사용할 수도 있습니다. 클라이언트 IP 주소를 얻습니다.
$type은 반환 유형을 의미합니다. 0은 IP 주소를 반환하고, 1은 IPV4 주소 번호를 반환합니다.
다음과 같이 코드를 공유하세요

function get_client_ip($type = 0) {
  $type    = $type ? 1 : 0;
  static $ip =  NULL;
  if ($ip !== NULL) return $ip[$type];
  if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $arr  =  explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
    $pos  =  array_search('unknown',$arr);
    if(false !== $pos) unset($arr[$pos]);
    $ip   =  trim($arr[0]);
  }elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
    $ip   =  $_SERVER['HTTP_CLIENT_IP'];
  }elseif (isset($_SERVER['REMOTE_ADDR'])) {
    $ip   =  $_SERVER['REMOTE_ADDR'];
  }
  // IP地址合法验证
  $long = ip2long($ip);
  $ip  = $long ? array($ip, $long) : array('0.0.0.0', 0);
  return $ip[$type];

위는 이 기사의 전체 내용입니다. 모두의 공부에 도움이 되길 바랍니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!

관련 권장 사항:

PHP 트리를 구현하는 비재귀적 방법

PHP를 사용하여 사용자 클라이언트의 실제 IP를 얻는 방법

PHP 핫링크 방지 구현 방법

위 내용은 thinkphp를 사용하여 클라이언트 IP를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.