当前位置: 首页 > news >正文

wordpress评论ip异常问题

在多层nginx中,获取到的ip为最后一个nginx的上层nginxip
具体获取评论ip的代码为
wp-includes/comment.php

if ( ! isset( $commentdata['comment_author_IP'] ) ) {$commentdata['comment_author_IP'] = $_SERVER['REMOTE_ADDR'];}

解决方法1
在wp-config中添加如下代码重写'REMOTE_ADDR'变量

// Set the real IP address for clients behind a proxy or load balancer.
function set_real_client_ip() {if ( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {// Check if multiple IPs exist in the header, take the first one.$ip_address_list = array_map( 'trim', explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] ) );$real_ip = reset( $ip_address_list );} elseif ( ! empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {// Fallback to HTTP_CLIENT_IP if available.$real_ip = $_SERVER['HTTP_CLIENT_IP'];} else {// Use REMOTE_ADDR as fallback.$real_ip = $_SERVER['REMOTE_ADDR'];}// Set the REMOTE_ADDR to the real IP address.$_SERVER['REMOTE_ADDR'] = $real_ip;
}// Call the function to set the real IP address.
add_action( 'init', 'set_real_client_ip' );

方法2,安装reverse-proxy-comment-ip-fix插件
插件市场里搜不到,可以上github下载
Tags · WPPlugins/reverse-proxy-comment-ip-fix · GitHub
下载zip包上传到插件安装界面就可以

插件本质上在pre_comment_user_ip加了过滤器执行对应函数里的操作

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 美团面经到店研发
  • 微服务的多面手:Spring Cloud 多数据中心支持全解析
  • 使用Python+moviepy保存截取视频画面
  • javaweb_07:分层解耦
  • Java之TCP编程综合案例
  • 卷积神经网络的相关知识点
  • C++相关概念和易错语法(25)(列表初始化、initializer_list)
  • 【云原生】Prometheus Pushgateway使用详解
  • Java对象头里有哪些信息
  • 如何在linux系统上部署Redis
  • Android12修改设备名称
  • ARM相关知识概括
  • GitHub的详细介绍
  • python-flask-上传多个文件并存储
  • 有效的字母异位词 | LeetCode-242 | 哈希集合 | 哈希数组
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • JavaScript 基本功--面试宝典
  • SpringCloud集成分布式事务LCN (一)
  • Vue.js-Day01
  • 初识MongoDB分片
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 使用 @font-face
  • ​​​​​​​STM32通过SPI硬件读写W25Q64
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • # dbt source dbt source freshness命令详解
  • %check_box% in rails :coditions={:has_many , :through}
  • (1) caustics\
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (亲测有效)推荐2024最新的免费漫画软件app,无广告,聚合全网资源!
  • (四)JPA - JQPL 实现增删改查
  • (贪心) LeetCode 45. 跳跃游戏 II
  • (学习日记)2024.02.29:UCOSIII第二节
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (杂交版)植物大战僵尸
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)h264中avc和flv数据的解析
  • (转)JAVA中的堆栈
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET 表达式计算:Expression Evaluator
  • .NetCore项目nginx发布
  • .NET的数据绑定
  • .Net多线程Threading相关详解
  • .net经典笔试题
  • []新浪博客如何插入代码(其他博客应该也可以)
  • [100天算法】-x 的平方根(day 61)
  • [2010-8-30]
  • [AIGC 大数据基础]hive浅谈
  • [C#]winform部署官方yolov10目标检测的onnx模型
  • [C#]使用C#部署yolov8的目标检测tensorrt模型
  • [C/C++]数据结构 堆的详解
  • [C++] 轻熟类和对象