Maison > développement back-end > tutoriel php > 深入解析PHP获取客户端IP的方法

深入解析PHP获取客户端IP的方法

WBOY
Libérer: 2016-07-25 08:57:15
original
1123 Les gens l'ont consulté
  1. function getip() {
  2. $unknown = 'unknown';
  3. if ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] && strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'], $unknown) ) {
  4. $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } elseif
  5. ( isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], $unknown) ) {
  6. $ip = $_SERVER['REMOTE_ADDR'];
  7. }
  8. /* 处理多层代理的情况 或者使用正则方式:$ip = preg_match("/[/d/.]{7,15}/", $ip, $matches) ? $matches[0] : $unknown; */
  9. if (false !== strpos($ip, ','))
  10. $ip = reset(explode(',', $ip)); return $ip;
  11. }
复制代码

注意: 使用函数getenv(’HTTP_X_FORWARDED_FOR’)或getenv(’REMOTE_ADDR’) 也可以如上代码一样取得同样的效果。 不过,特别要留意的是,getenv()不支持在IIS的isapi方式下运行的PHP。



Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal