>백엔드 개발 >PHP 튜토리얼 >thinkphp 클라이언트 IP_php 팁을 얻는 방법

thinkphp 클라이언트 IP_php 팁을 얻는 방법

WBOY
WBOY원래의
2016-05-16 20:05:31961검색

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 프로그래밍에 대해 더 자세히 배우는 데 도움이 되기를 바랍니다.

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