找回密码
 立即注册

[资料] 百度CDN 传递用户ip

[复制链接]
69伙伴 发表于 2023-12-26 18:26:18 | 显示全部楼层 |阅读模式
因为么有防火墙,过滤ip又不想在在本机修改.

详细的看了一阵cdn说明
发现可以在
cdn的 访问控制 -- 防盗链 下设置黑白名单
根据自己远古代码在二次修改吧

cdn传入的  HTTP_X_FORWARDED_FOR  ,第一个值是客户ip
懒得折腾循环, 百度cdn , cdn-user-ip ,${remote_addr}
直接调用 cdn-user-ip

3229afc5ec3b279a01d6f754cd2a0c80.png

edbad62f9d7995092ded952834768ae7.png


  1. <?php

  2. $user_ip = $_SERVER['REMOTE_ADDR'];
  3. echo "REMOTE_ADDR: " . $user_ip;

  4. echo "<p>";
  5. echo "--------<p>";

  6.         $xff_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
  7. echo "HTTP_X_FORWARDED_FOR: " . $xff_ip;
  8. echo "<p>";


  9. echo "--------<p>";
  10. echo "--------<p>";
  11. $Cdn_User_ip = $_SERVER['Cdn-User-Ip'];
  12. echo "Cdn-User-Ip: " . $Cdn_User_ip;

  13. //请根据你的具体环境和需求来选择合适的方法获取用户IP地址。在考虑安全性时,使用第三方服务或API来验证和解析IP地址可能是更可靠的选择。

  14. // 获取 REMOTE_ADDR
  15. $remote_addr = $_SERVER['REMOTE_ADDR'];

  16. // 获取 HTTP_X_FORWARDED_FOR,注意它可能包含多个IP地址,取第一个作为用户IP
  17. $x_forwarded_for = $_SERVER['HTTP_X_FORWARDED_FOR'];
  18. if ($x_forwarded_for) {
  19.     $user_ip = explode(',', $x_forwarded_for)[0];
  20. } else {
  21.     $user_ip = $remote_addr;
  22. }

  23. echo "User IP: " . $user_ip;

  24. echo "--------<p>";
  25. echo "--------<p>";

  26. if (function_exists('getallheaders')) {
  27.     $http_headers = getallheaders();
  28.     echo "HTTP Headers:\n";
  29.     foreach ($http_headers as $name => $value) {
  30.         echo "$name: $value\n";
  31.     }
  32. } else {
  33.     echo "getallheaders() function is not available on this server.";
  34. }

  35. // 输出 REMOTE_ADDR 值
  36. $remote_addr = $_SERVER['REMOTE_ADDR'];
  37. echo "\nREMOTE_ADDR Value: " . $remote_addr;


  38. ?>
复制代码



临时交流 ⇨点我留言
【附件·直下】非必要·勿注册

网格·联系我们 ( 京ICP备16001788号|京公网安备 11010502049360号 ) | 网站地图 | 2012- WGPro.CoM |

GMT+8, 2024-11-21 17:47

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表