前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >PHP获取客户端真实IP地址

PHP获取客户端真实IP地址

作者头像
很酷的站长
发布2023-02-01 16:53:08
发布2023-02-01 16:53:08
6.2K0
举报
方案一:

参考文章:https://www.php.cn/php-weizijiaocheng-406174.html

  1. // 客户端真实的IP地址
  2. function get_real_ip()
  3. {
  4. $ip = false;
  5. // 客户端IP 或 NONE
  6. if (!empty($_SERVER["HTTP_CLIENT_IP"])) {
  7. $ip = $_SERVER["HTTP_CLIENT_IP"];
  8. }
  9. // 多重代理服务器下的客户端真实IP地址(可能伪造),如果没有使用代理,此字段为空
  10. if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  11. $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
  12. if ($ip) {
  13. array_unshift($ips, $ip);
  14. $ip = false;
  15. }
  16. for ($i = 0; $i < count($ips); $i++) {
  17. if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
  18. $ip = $ips[$i];
  19. break;
  20. }
  21. }
  22. }
  23. // 客户端IP 或 (最后一个)代理服务器 IP
  24. return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
  25. }
方案二:

  1. /**
  2. * 获取客户端IP
  3. */
  4. public function get_real_ip()
  5. {
  6. $ip = $_SERVER['REMOTE_ADDR'];
  7. if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) {
  8. foreach ($matches[0] AS $xip) {
  9. if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)) {
  10. $ip = $xip;
  11. break;
  12. }
  13. }
  14. } elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) {
  15. $ip = $_SERVER['HTTP_CLIENT_IP'];
  16. } elseif (isset($_SERVER['HTTP_CF_CONNECTING_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CF_CONNECTING_IP'])) {
  17. $ip = $_SERVER['HTTP_CF_CONNECTING_IP'];
  18. } elseif (isset($_SERVER['HTTP_X_REAL_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_REAL_IP'])) {
  19. $ip = $_SERVER['HTTP_X_REAL_IP'];
  20. }
  21. return $ip ? $ip : '127.0.0.1';
  22. }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方案一:
  • 方案二:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档