WordPress 開啟 CDN 無法取得真實 IP
4,086 0
昨天剛剛開啟了評論郵件提醒功能「美化 WordPress 郵件回覆樣式」,就發現郵件裡關於評論者的 IP 居然是錯的,WordPress 自己取得了 CDN 的 IP 節點。
這樣一來,就不好分析網站訪客的地域關係了,而且 WordPress 自帶的攔截 IP 評論功能也將會失效,所以我想要解決它。於是我在網上找了一下相關內容,後來在幻殺博客找到了完美的解決方案,下面分享給大家。

解決方案
開啟 WordPress 根目錄下面的 wp-config.php 檔案,在檔案最下方新增下面的程式碼:
PHP PHP
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$list = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
$_SERVER['REMOTE_ADDR'] = $list[0];
}
原理
在 CDN 的 HTTP 標頭中有記錄訪問者 IP 資料,那段程式碼就是把 WordPress 的 IP 中變數換成 $_SERVER 取得的。以上的程式碼可以用在任意 CDN 和反向代理上面,IP 位址是可以取得正確的。
評論
(0)暫無評論,來說兩句吧