97久久国产亚洲精品超碰热,成人又色又爽的免费网站,色偷偷女人的天堂a,男女高潮喷水在线观看,国内精品一线二线三线区别在哪里

Discuz! 官方交流社區(qū)

標題: (續(xù))discuz使用EdgeOne后獲取客戶真實ip教程 [打印本頁]

作者: ysx24    時間: 2025-10-7 16:05
標題: (續(xù))discuz使用EdgeOne后獲取客戶真實ip教程
本帖最后由 ysx24 于 2025-10-13 10:50 編輯

先說優(yōu)點:為什么推薦使用EO
收費個人版每月不到10元月租,一般個人站長也足夠用了
它提供靜動態(tài)智能鏈路加速,TCP/UDP四層代理,Web應(yīng)用防火墻、多路復(fù)用與協(xié)議優(yōu)化,和基礎(chǔ)防DOSS能力一應(yīng)俱全的CDN
加速效果非常明顯
(怎么看起來像給EdgeOne打廣告,其實還真不是,沒人給廣告費,哈哈)

在使用過程中發(fā)現(xiàn),獲取到的用戶來源 IP 均為 CDN 節(jié)點 IP,而非真實客戶端 IP。這在查看和處理日志時帶來了一些麻煩,尤其是在攔截惡意 IP 或爬蟲時,容易誤封 CDN 節(jié)點地址。


上次寫過一次類似教程,但發(fā)現(xiàn)了很多問題
所以準備重寫
騰訊云EdgeOne 提供永久免費版申請,具體詳情https://cloud.tencent.com/document/buy-guide/1552/118985
就是申請比較麻煩

教程:
1、站點加速-規(guī)則引擎-創(chuàng)建規(guī)則-新增空白規(guī)則(如果已有規(guī)則在原規(guī)則下面添加即可)
完成后如下圖:
(, 下載次數(shù): 1)

2、具體說明
點擊操作,選擇客戶端ip頭部,命名為 “EO-Client-IP”

(, 下載次數(shù): 1)
(, 下載次數(shù): 1)

3、返回寶塔
在/www/server/nginx/conf/ 目錄下新建文件 命名為 tencent_eo_ips.conf
打開tencent_eo_ips.conf文件里面添加騰訊云EO回源ip段,格式大概是這樣的
(, 下載次數(shù): 8)

注:如果不知道回源ip節(jié)點,在eo控制臺找到安全防護-源站防護里找

(, 下載次數(shù): 1)

4、寶塔-網(wǎng)站-配置文件
在配置文件頂部增加

5、/condig/config_global.php  (這步也可以忽略,我是加上了)
搜索:
  1. $_config['ipgetter']['setting'] = 'header';
復(fù)制代碼
下面添加
  1. $_config['ipgetter']['header']['header'] = 'HTTP_EO-Client-IP';
復(fù)制代碼

完成


最后:給個最簡單的測試方式,把這一個php文件放到網(wǎng)站根目錄  (1L有完整代碼也可以免下載自己去添加)
(, 下載次數(shù): 9)
然后運行 https://你網(wǎng)站/2.php

預(yù)覽:
(, 下載次數(shù): 1)

如果還有什么不明白跟帖回復(fù)


作者: ysx24    時間: 2025-10-7 16:17
測試方式
在論壇根目錄新建php文件
內(nèi)容:
  1. <?php
  2. // 增強版客戶端IP測試(騰訊云EdgeOne專用)
  3. echo "<h2>騰訊云EdgeOne客戶端IP測試</h2>";

  4. // 1. 核心IP字段檢測
  5. $ipSources = [
  6.     'REMOTE_ADDR' => '服務(wù)器直接連接IP',
  7.     'HTTP_X_FORWARDED_FOR' => '代理鏈IP(可能包含多個)',
  8.     'HTTP_EO_CLIENT_IP' => 'EdgeOne客戶端IP',
  9.     'HTTP_EO_CONNECTING_IP' => 'EdgeOne連接IP',
  10.     'HTTP_X_REAL_IP' => 'Nginx真實IP',
  11.     'HTTP_CF_CONNECTING_IP' => 'Cloudflare專用頭(兼容性檢測)'
  12. ];

  13. echo "<h3>?? 核心IP地址信息:</h3>";
  14. foreach ($ipSources as $key => $desc) {
  15.     $value = $_SERVER[$key] ?? '未設(shè)置';
  16.     $highlight = (strpos($value, '.') !== false) ? "style='color:red;font-weight:bold'" : "";
  17.     echo "<b>{$desc}</b> [{$key}]: <span {$highlight}>{$value}</span><br>";
  18. }

  19. // 2. EdgeOne專屬頭檢測
  20. $eoHeaders = [
  21.     'HTTP_CDN_LOOP' => 'CDN循環(huán)標識',
  22.     'HTTP_EO_LOG_UUID' => '請求唯一ID',
  23.     'HTTP_X_FORWARDED_PROTO' => '傳輸協(xié)議',
  24.     'HTTP_CDN_SRC_IP' => 'CDN源IP(如有)'
  25. ];

  26. echo "<h3>?? EdgeOne專屬頭信息:</h3>";
  27. foreach ($eoHeaders as $key => $desc) {
  28.     $value = $_SERVER[$key] ?? '未設(shè)置';
  29.     echo "<b>{$desc}</b> [{$key}]: {$value}<br>";
  30. }

  31. // 3. 安全與協(xié)議頭檢測
  32. $securityHeaders = [
  33.     'HTTP_SEC_CH_UA' => '用戶代理品牌',
  34.     'HTTP_SEC_CH_UA_MOBILE' => '移動設(shè)備標識',
  35.     'HTTP_SEC_CH_UA_PLATFORM' => '操作系統(tǒng)',
  36.     'HTTP_X_FORWARDED_PROTO' => '前端協(xié)議',
  37.     'HTTP_X_FORWARDED_PORT' => '前端端口'
  38. ];

  39. echo "<h3>??? 安全與協(xié)議信息:</h3>";
  40. foreach ($securityHeaders as $key => $desc) {
  41.     $value = $_SERVER[$key] ?? '未設(shè)置';
  42.     echo "<b>{$desc}</b> [{$key}]: {$value}<br>";
  43. }

  44. // 4. 完整頭信息(過濾后)
  45. echo "<h3>?? 完整相關(guān)頭信息:</h3>";
  46. foreach ($_SERVER as $key => $value) {
  47.     // 過濾顯示關(guān)鍵頭信息
  48.     if (strpos($key, 'HTTP_') === 0 ||
  49.         strpos($key, 'REMOTE_') === 0 ||
  50.         strpos($key, 'CDN_') === 0 ||
  51.         strpos($key, 'EO_') === 0) {
  52.         echo "<b>{$key}</b>: " . htmlspecialchars($value) . "<br>";
  53.     }
  54. }

  55. // 5. 客戶端真實IP判定邏輯
  56. echo "<h3>?? 客戶端真實IP判定:</h3>";
  57. $clientIp = '';

  58. // EdgeOne優(yōu)先檢測
  59. if (!empty($_SERVER['HTTP_EO_CLIENT_IP'])) {
  60.     $clientIp = $_SERVER['HTTP_EO_CLIENT_IP'];
  61.     echo "<p style='color:green'>? 通過 HTTP_EO_CLIENT_IP 獲取真實IP: {$clientIp}</p>";
  62. } elseif (!empty($_SERVER['HTTP_EO_CONNECTING_IP'])) {
  63.     $clientIp = $_SERVER['HTTP_EO_CONNECTING_IP'];
  64.     echo "<p style='color:green'>? 通過 HTTP_EO_CONNECTING_IP 獲取真實IP: {$clientIp}</p>";
  65. }
  66. // 標準代理頭檢測
  67. elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  68.     $ips = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
  69.     $clientIp = trim($ips[0]);
  70.     echo "<p style='color:orange'>?? 通過 HTTP_X_FORWARDED_FOR 獲取IP: {$clientIp} (需驗證代理鏈)</p>";
  71. }
  72. // 最后回退方案
  73. else {
  74.     $clientIp = $_SERVER['REMOTE_ADDR'] ?? '未知';
  75.     echo "<p style='color:red'>? 使用 REMOTE_ADDR 作為IP: {$clientIp} (可能不是真實客戶端IP)</p>";
  76. }

  77. // 6. IP地理位置查詢
  78. if (filter_var($clientIp, FILTER_VALIDATE_IP)) {
  79.     $geoUrl = "http://ip-api.com/json/{$clientIp}?fields=status,country,regionName,city,isp,org,as";
  80.     $geoData = @file_get_contents($geoUrl);
  81.    
  82.     if ($geoData) {
  83.         $geoInfo = json_decode($geoData, true);
  84.         if ($geoInfo['status'] === 'success') {
  85.             echo "<h3>?? IP地理位置信息:</h3>";
  86.             echo "IP: {$clientIp}<br>";
  87.             echo "位置: {$geoInfo['country']} - {$geoInfo['regionName']} - {$geoInfo['city']}<br>";
  88.             echo "ISP: {$geoInfo['isp']}<br>";
  89.             echo "組織: {$geoInfo['org']}<br>";
  90.             echo "ASN: {$geoInfo['as']}";
  91.         }
  92.     }
  93. }

  94. // 7. 配置建議
  95. echo "<h3>?? EdgeOne配置建議:</h3>";
  96. echo "<ul>
  97. <li>確保EdgeOne的『客戶端IP透傳』功能已開啟</li>
  98. <li>在源站服務(wù)器配置中啟用『接受客戶端IP頭』選項</li>
  99. <li>在Nginx配置中添加: <code>real_ip_header X-Forwarded-For; set_real_ip_from 0.0.0.0/0;</code></li>
  100. <li>測試時清除瀏覽器緩存避免CDN緩存影響</li>
  101. </ul>";
  102. ?>
復(fù)制代碼

作者: 無言以對2012    時間: 2025-10-7 16:28
國內(nèi)的要備案,國際版跟cloudflare有一比,速度感人
作者: CNZZVIP    時間: 2025-10-8 10:57
ZHEN正在用EO非常需要
作者: ji8123    時間: 7 天前
免費版的能用這個方法嗎

作者: ysx24    時間: 7 天前
ji8123 發(fā)表于 2025-10-10 10:03
免費版的能用這個方法嗎

完全一樣




歡迎光臨 Discuz! 官方交流社區(qū) (http://r615.cn/) Powered by Discuz! X5.0