首页 > 其他分享 >PbootCMS使用CDN或者https时后台功能异常跳转首页的解决办法

PbootCMS使用CDN或者https时后台功能异常跳转首页的解决办法

时间:2024-10-25 10:23:04浏览次数:1  
标签:handle https CDN getenv HTTPS 跳转 PbootCMS isSsl

在使用 HTTPS 或 CDN 时,PbootCMS 的后台功能可能会因为环境差异而出现异常,特别是在开启关闭按钮、删除、以及保存排序等功能操作后会直接重定向到首页。这是由于 PbootCMS 在判断是否为 HTTPS 时存在问题。以下是详细的解决方案:

问题描述

在 HTTPS 或 CDN 环境下,PbootCMS 的后台功能可能出现异常,主要表现为:

  • 开启关闭按钮操作后重定向到首页
  • 删除操作后重定向到首页
  • 保存排序操作后重定向到首页

原因分析

造成该问题的主要原因是 PbootCMS 在判断是否为 HTTPS 时的逻辑不完善,导致在某些主机环境下无法正确识别 HTTPS 请求。

解决方案

  1. 备份文件

    • 在进行任何修改之前,建议先备份 handle.php 文件,以防修改出错后可以快速恢复。
  2. 定位文件

    • 找到 handle.php 文件,路径通常为 网站目录/core/function/handle.php
  3. 修改代码

    • 打开 handle.php 文件,找到第 619 行左右的 is_https 函数。
    • 将原来的代码替换为以下代码:
// 判断当前是否为https
function is_https() {
    $isSsl = false;
    if (getenv('HTTPS') && ('1' == getenv('HTTPS') || 'on' == strtolower(getenv('HTTPS')))) {
        $isSsl = true;
    } elseif ('https' == getenv('REQUEST_SCHEME')) {
        $isSsl = true;
    } elseif ('443' == getenv('SERVER_PORT')) {
        $isSsl = true;
    } elseif ('https' == getenv('HTTP_X_FORWARDED_PROTO')) {
        $isSsl = true;
    } elseif ('https' == getenv('HTTP_X_CLIENT_SCHEME')) {
        $isSsl = true;
    }
    return $isSsl;
}

具体操作步骤

1. 备份文件

  1. 使用 FTP 客户端
    • 使用 FTP 客户端(如 FileZilla)连接到你的服务器。
    • 导航到 网站目录/core/function 目录。
    • 下载 handle.php 文件到本地,以便备份。

标签:handle,https,CDN,getenv,HTTPS,跳转,PbootCMS,isSsl
From: https://www.cnblogs.com/hwrex/p/18491944

相关文章

  • HTTP和HTTPS在网络通信安全中有什么区别
    HTTP和HTTPS是互联网上两种主要的通信协议,他们的区别有:1.安全性和加密;2.认证和信任度;3.搜索引擎优化(SEO);4.性能和速度;5.兼容性和配置;6.数据保护法规遵从性;7.应用场景。HTTP(超文本传输协议)是互联网的基础通信协议,但它在传输数据时不提供加密或安全保护。相比之下,HTTPS(安全的HTTP)为......
  • IDEA如何使mapper直接跳转到xml,超实用
    前言我们在使用IDEA开发Java应用时,一般都是需要和mybatis一起使用的。这样,就需要使用xml来编写相关的sql语句。但是,IDEA默认是不支持直接mapper跳转到xml文件的,包括反向跳转也一样。这样开发的时候,就比较不方便。不过,IDEA提供了强大的插件来支持我们跳转,那么,我们该如何操作呢?如......
  • IDEA久违了!FeignX插件支持方法级别的导航跳转
    需求调研:发现身边的同事追踪业务代码的时候,如果遇见feign接口,大家都是通过全局搜url进一步找到远程服务的实现。一旦项目大起来,路径变得复杂甚至重名之后,这将会是灾难。市面上并没有很好的IDEA插件支持feign接口的解析以及相对应的远程服务之间的跳转,因此本人([lyflexi](https:......
  • 大话网络协议:HTTPS协议和HTTP协议有何不同?为什么HTTPS更安全
    大家现在访问网络,浏览网页,注意一下的话,网址前面基本上都是一个https://的前缀,这里就是说明这个网址所采用的协议是https协议。那么具体应该怎么理解https呢?本文我们就力争能清楚地解释明白这个我们目前应该最广的协议。理解HTTP协议要解释https协议,当然首先应该......
  • https免费nginx证书
    快捷阅读:先安装好nginx,并配置好80端口的正常访问#安装Nginxyuminstall-ynginx#设置开机启动systemctlenablenginx#开启nginxsystemctlstartnginx#重启nginxsystemctlrestartnginx#nginx重新加载配置文件systemctlreloadnginx#新增nginx网站配置......
  • pbootcms添加友情链接后不能正常跳转打开
    检查链接格式:确保在后台添加友情链接时,链接前缀包含 http:// 或 https://。正确示例:https://www.baidu.com错误示例:www.baidu.com更新现有链接:如果已经添加了错误的链接,需要进入后台管理界面,找到友情链接模块,编辑并更新这些链接,确保它们包含正确的前缀。验证链......
  • CDN内容分发网络
    认识CDN◼什么是CDN呢?CDN称之为内容分发网络(ContentDeliveryNetwork或ContentDistributionNetwork,缩写:CDN)CDN它是一组分布在不同地理位置的服务器相互连接形成的网络系统。通过这个网络系统,将Web内容存放在距离用户最近的服务器。可以更快、更可靠地将Web内......
  • 语雀技巧:文档内部跳转
    在语雀文档中实现内部简单跳转,可以使用这个技巧第一步:选择文本,在更多中插入链接第二步:通过分享,打开自己文档的网页地址第三步:在网页中找到需要跳转到的标题,点击查看第四步:查看网址后面的#xxxxx(x为随机码),复制粘贴到刚刚的链接上粘贴到刚刚的链接上教程结束......
  • 本地签发ssl证书(https)
    说明ssl证书主要用于https网络访问的安全认证工具下载本地自签证书程序https://github.com/FiloSottile/mkcert/releases命令行mkcert-v1.4.4-windows-amd64-?可以查看使用方法生成步骤1、mkcert-v1.4.4-windows-amd64-install 安装本地根证书2、生成自签证书:mkcert-v1.......
  • 网站域名是https的,前端直接访问其他网站的http网址,为什么自动转成https的了
    当一个网站使用HTTPS(安全超文本传输协议)时,浏览器通常会自动将任何对HTTP(非安全超文本传输协议)网址的请求重定向到HTTPS版本。这种行为由多个因素引起,以下是一些可能的原因:1. HSTS(HTTPStrictTransportSecurity)HSTS是一种安全特性,允许网站声明被浏览器强制使用HTTPS。......