当前位置:网站首页>如何解决WordPress开启CDN后评论IP不正确的方法
如何解决WordPress开启CDN后评论IP不正确的方法
2022-06-09 15:47:00 【壳屋栏】
前言
只是简单的这个还没有事情,只是,Wordpress内有评论IP拦截等等这些功能,不能都拦截了。
百度一下,发现了一个好的方法。只要添加一段代码,IP地址就可以正常了,其实CDN在头部应该有把访问者IP发送的,那段代码就是把wordpress的ip中变量换成$_SERVER获取的。这个可以用在任意CDN和反代里面,IP地址可以获取正确的
用过CDN的朋友都知道,如果WordPress开启CDN之后别人在你的文章中评论,IP则显示的是该人所在地区的CDN节点的IP,而不会显示该人的真实IP,这样的话其实不会有很大的问题,不过对于垃圾评论过多的网站来说,这无疑是一个噩梦,因为不可以进行IP拦截。
解决办法(一)
本人之前在网上找了很多的方法,之后在网上找到了如下的解决办法,把改代码加入到wp-config.php的<?php之后,之前一直都不适用,后来经过反复调试发现是参数调取错误。 源代码如下
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$_SERVER['REMOTE_ADDR'] = $list[0];
}我们要把里面的
HTTP_X_FORWARDED_FOR更改成为自己所用的CDN的来源IP端口,例如百度智能云的就为
HTTP_X_REAL_IP百度智能云控制版面-获取真实用户IP设置
所有我们调用百度智能云的来源IP的时候在wp-config.php中就应该这样写:
if(isset($_SERVER['HTTP_X_REAL_IP'])) {
$list = explode(',',$_SERVER['HTTP_X_REAL_IP']);
$_SERVER['REMOTE_ADDR'] = $list[0];
}解决办法(二)
根据上面的参数,我们也可以得出下方的方法,在主题的functions.php中底部添加以下代码:
function GetIP()
{$IP = str_replace(“, “, “”,str_replace($_SERVER['REMOTE_ADDR'],
“”,$_SERVER["HTTP_X_REAL_IP"]));
if ($_SERVER["HTTP_X_REAL_IP"] != “”) {$_SERVER['REMOTE_ADDR'] =
$IP;
} else {
$_SERVER['REMOTE_ADDR'] = $_SERVER['REMOTE_ADDR'];
}}add_action( ‘init’, ‘GetIP’ );两种方式,只需要使用其中一种即可,第一种适用于所有Wordprss博客,第二种,可能不适用于部分博客,请自主选择。
边栏推荐
- 六月集训(第09天) —— 二分查找
- Middle office architecture learning
- Moonbeam基金会与Arrington Capital共同启动1亿美金的生态增长基金以促进Moonbeam生态成长
- Dapr 源码解析 | 基本介绍
- 六月集训(第07天) —— 哈希表
- Dapr source code analysis | basic introduction
- 【CSDN 2021 年度总结】半年涨粉11万,铁杵磨成针
- 六月集训(第05天) —— 双指针
- An alternative to enumeration -- Enumeration classes
- "CSDN powder raising strategy" 11 powder raising methods, how many have you learned?
猜你喜欢

记一次可怜的150元RCE平安Src挖掘

微信小程序 思维导图

Today's sleep quality record 82 points

Latex combat notes 2- document hierarchy and structure

LeetCode 1420. 生成数组

Byte side: how to check if the website cannot be displayed?

SaaS tenant multi store system in the catering industry accelerates the digital operation of catering and realizes cost reduction and efficiency increase

≥3.5寸液晶屏的会议控制键盘说明书

10 required AutoCAD plug-ins

LeetCode 327. Number of interval sums
随机推荐
Technology - middle stage
Moonbeam基金会与Arrington Capital共同启动1亿美金的生态增长基金以促进Moonbeam生态成长
May training (the 26th day) - collective search
资深OpenStacker - 彭博、Vexxhost升级为OpenInfra基金会黄金成员
Read the middle office architecture and Implementation
May training (day 25) - tree array
今日睡眠质量记录82分
六月集训(第06天) —— 滑动窗口
June training (day 06) - sliding window
六月集训(第09天) —— 二分查找
Rapid development template based on ABP vNext
June training (day 07) - hash table
SAP Commerce Cloud 构建过程中的文件夹可写入性问题分析
如何高效学习 思维导图
Qscrollarea use tutorial to realize the setting interface that can slide up and down
Dapr .NET Core示例
70 DOM读取XML
Reconstruction essentials learning
Senior openstacker - Bloomberg, vexxhost upgraded to gold member of openinfra Foundation
Dapr source code analysis | basic introduction