小幻最近評論被人通過多説和 WP 的評論接口 POST 攻擊評論了,可以 WordPress 的防住了,多説的卻沒有任何頭緒。於是一氣之下直接關掉了多説。無聊又添加了 UA 顯示 (多説原因,以前的都出了問題) 、郵件提醒這些功能。
可是每次發送的時候都感覺不對勁,給我發過來的 E-mail 顯示的 IP 都是一個 IP,看了下,發現原來……都是一個 IP 地址。仔細一想,原來是我的 CDN 的問題。

只是簡單的這個還沒有事情,只是,WordPress 內有評論 IP 攔截等等這些功能,不能都攔截了。
百度一下,發現了一個好的方法。只要添加一段代碼,IP 地址就可以正常了,其實 CDN 在頭部應該有把訪問者 IP 發送的,那段代碼就是把 WordPress 的 ip 中變量換成 $_SERVER 獲取的。這個可以用在任意 CDN 和反代裏面,IP 地址可以獲取正確的,但是如果你想我的對方用過 VPN 、代理、 ss……後的本機原始 IP 可以使用 js 獲取,這個以後會有介紹的。
好了嘮叨了那麼多,還是上點乾貨吧。
在 WordPress 安裝根目錄下面 wp-config.php 文件,打開後,在其內添加下面代碼:
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$_SERVER['REMOTE_ADDR'] = $list[0];
}
再用 SS,發了個評論,看了下 IP 地址,換成了 VPS 的地址了,當然我的 IP 識別也正常了!

再次慶祝一下自己咯,雖説備案好了,搜索引擎還一直沒恢復,不過 IP 卻已經過百了,不錯了。