首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >升级php7.1.*后phpcms V9编辑文章出错的解决方法

升级php7.1.*后phpcms V9编辑文章出错的解决方法

作者头像
用户2135432
发布于 2018-06-04 07:42:07
发布于 2018-06-04 07:42:07
2K00
代码可运行
举报
文章被收录于专栏:猛牛哥的博客猛牛哥的博客
运行总次数:0
代码可运行

这两天服务器环境升级了php到7.1.*,然后使用phpcms V9添加或编辑文章时都会遇到500错误。查看error_log文件,看到一堆Illegal string offset '**' | phpcms/libs/classes/segment.class.php | 345这样的错误。查看segment.class.php 文件的345行,附近的代码是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function get_keyword($str,$ilen=-1) {
 if($str=='') return '';
 else $this->split_result($str,true,true);
 $okstr = $this->result_string;
 $ws = explode(' ',$okstr);
 $okstr = $wks = '';
 foreach($ws as $w) {
 $w = trim($w);
 if(strlen($w)<2) continue;
 if(!preg_match("/[^0-9:-]/",$w)) continue;
 if(strlen($w)==2&&ord($w[0])>0x80) continue;
 if($wks=="") $wks=array();
 if(isset($wks[$w])) $wks[$w]++;
 else $wks[$w] = 1; //345行的内容
 }
 if(is_array($wks)) {
 arsort($wks);
 if($ilen==-1) {
 foreach($wks as $w=>$v) {
 if($this->get_rank($w)>500) $okstr .= $w." ";
 }
 } else {
 foreach($wks as $w=>$v){
 if((strlen($okstr)+strlen($w)+1)<$ilen) $okstr .= $w." ";
 else break;
 }
 }
 }

看来问题出在$wks这个变量上(字符串变量直接当数组使用)。查看前面的代码,$wks的赋值是:$okstr = $wks = ''; ,后来通过搜索得知:PHP7开始,对于数据类型的隐式转换做了调整,String无法隐式转换成Array了。

所以,问题就出在$wks一开始是字符串,后面的代码又直接把他当数组用,再新版PHP中就会出错。所以解决方法应该是在344行前面增加一行:if($wks=="") $wks=array();

经过测试,此方法有效。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018 年 1 月 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
老洞新谈之phpcms v9.6.0任意文件上传漏洞
对应的是phpcms/modules/member/index.php中的register函数,所以我们在那里下断点,接着使用 PoC 并开启动态调试,在获取一些信息之后,函数走到了如下位置:
鸿鹄实验室
2021/05/27
1.5K0
PHPCMS V9.6.0_前台任意文件上传
2017年4月份左右PHPCMS V9.6被曝出注册页面存在任意文件上传漏洞,通过该漏洞攻击者可以在未授权的情况下上传任意文件,甚至getshell
Al1ex
2023/09/07
1.2K2
PHPCMS V9.6.0_前台任意文件上传
PHPCMSV9按栏目搜索
1、修改后台添加、修改内容时添加栏目id到搜索表中 找到 phpcmsmodelcontent_model.class.php 大概106、287行左右,一共两处
李维亮
2021/07/09
9230
Dedecms 中的预认证远程代码执行
在这篇博文中,我将分享对 Dedecms(或翻译成英文的“Chasing a Dream”CMS)的技术评论,包括它的攻击面以及它与其他应用程序的不同之处。最后,我将以一个影响v5.8.1 pre-release的预认证远程代码执行漏洞结束。这是一款有趣的软件,因为它的历史可以追溯到其最初发布以来的 14 年多,而 PHP 在这些年来发生了很大的变化。
Khan安全团队
2022/01/25
4.3K0
PHPCMS_V9.6.0任意文件上传漏洞分析
本次PHPCMS版本为9.6.0,安装步骤跟上一篇文章一样,参考PHPCMS_V9.2任意文件上传getshell漏洞分析
黑白天安全
2021/03/16
6.2K0
PHPCMS_V9.6.0任意文件上传漏洞分析
SeaCMS v10.1代码审计实战
seacms是一个代码审计入门级的cms,比较适合我这种小白玩家来学习,如果有什么错误欢迎指出。
FB客服
2020/07/15
1.5K0
SeaCMS v10.1代码审计实战
PHPCMS全站点击排行榜的调用方法"
PHPCMS默认仅支持栏目点击排行榜,在V9版本中,也可以通过数据库来调用全站点击排行。
李维亮
2021/07/09
2.6K0
搭建dedecms漏洞靶场练习环境
本文将对dedecms(织梦cms)所存在的漏洞进行分析和复现,因为代码审计较弱,代码这一块的分析借鉴了一些大佬们的思想,在这里对大佬们表示衷心的感谢。
HACK学习
2021/06/24
12.6K1
搭建dedecms漏洞靶场练习环境
DedeCMS v5.7 SP2后台SSTI到RCE再到GetShell
DedeCMS v5.7 SP2后台允许编辑模板页面,通过测试发现攻击者在登陆后台的前提条件下可以通过在模板中插入恶意的具备dedecms模板格式且带有runphp="yes"标签的代码实现模板注入,并且可由此实现RCE与Getshell
Al1ex
2021/07/21
8.8K0
DedeCMS v5.7 SP2后台SSTI到RCE再到GetShell
DedeCMS v5.8.1_beta未授权远程命令执行漏洞分析
深信服公众号前几天发了Dedecms未授权RCE的漏洞通告。地址是这个: 【漏洞通告】DedeCMS未授权远程命令执行漏洞
Deen_
2021/11/12
4.5K0
DedeCMS v5.8.1_beta未授权远程命令执行漏洞分析
Phpcms V9 栏目列表调用文章点击量及评论数量方法
今天在搞Phpcms做站时,需要在列表页、首页调用文章列表调用文章的点击量和评论排行,那么怎么才能做到在Phpcms v9首页、频道页、列表页、推荐位等页面获取文章浏览量和评论统计呢?
李维亮
2021/07/09
4.5K0
回忆phpcms头像上传漏洞以及后续影响
为了响应爱慕锅(Mramydnei)、撸大师(索马里的海贼)、fd牛(/fd)的号召成立的parsec团队,以及各位老师多年来对我的教育,我要写篇回忆稿。看标题大家可能觉得,这陈芝麻烂谷子的事你还拿出来说啥。当然,我自己搓一点都无所谓,但怎么能丢了parsec的脸,各位还是且听我娓娓道来~
phith0n
2020/10/15
1.6K0
PHPCMS_V9.6.0wap模块SQL注入漏洞分析
脚本在对Stpe2那里进行了与手工不一样的处理,原因就是按照手工的方法进行编写的脚本会报错,具体是什么问题以及原因看文尾的分析。>值得一看!!!
黑白天安全
2021/04/07
5.8K0
PHPCMS_V9.6.0wap模块SQL注入漏洞分析
冷场了吗?我带着phpcms9.6.2 注入来救场了
0x00 背景 最近做代码审计的时候发现phpcms 有更新,现在漏洞详情基本不公开,想要知道漏洞的利用方法只能自己审计了,通常可进行新旧版本的代码比较了,来定位旧版本的漏洞位置,便下载了phpcms 9.6.3与phpcms 9.6.1 和phpcms 9.6.2的源码进行比较和审计,发现phpcms 9.6.2 中存在任意文件下载补丁绕过和前台SQL注入,便撰写了本文做个记录,期待和师傅们的各种交流和讨论。 0x01 任意文件下载补丁绕过 对比phpcms 9.6.2 版本与phpcms 9.6.1
漏斗社区
2018/03/28
1.8K0
冷场了吗?我带着phpcms9.6.2 注入来救场了
FineCMS V5.0.10 任意文件上传&&任意代码执行&&任意SQL语句执行
目录中的1位用户id,稍微爆破一下即可。 PS:谢谢大佬们提醒,这个uid可以直接在cookie中看到
纯情
2023/04/26
9730
seacms 最新版前台注入漏洞
海洋影视管理系统(seacms,海洋cms)是一套专为不同需求的站长而设计的视频点播系统,采用的是 php5.X+mysql 的架构,使用 fofa 搜索可以看到存在 400+的记录:
p4nda
2023/01/03
2.3K0
seacms 最新版前台注入漏洞
PHP代理实现用老人机看小说
为了应对当前HTML格式和js脚本对老人机的不友好,我们需要处理一下某些小说网站,让它回到十几年前的样子,剔除大量CSS和JS,精简HTML标签,这样就能够让老人机快速、友好地看小说了。
猿哥
2020/03/04
1.2K0
Laravel源码笔记(二)路由
路由是web服务不可或缺的一部分,一个好的web框架必须具备一整套灵活且丰富的路由系统。Laravel自然也不例外,通过配置文件中一两行代码就可以实现一个具有完整的参数、属性及约束的路由,甚至可以免去写专门的controller。如此强大的功能是如何实现的呢?下面仍然从laravel框架的启动过程出发,探究一下源码中是如何一步步实现路由服务的。
asterDY
2020/04/13
7.8K1
Laravel源码笔记(二)路由
PHP 常见内置类浅析
PHP原生类就是在标准PHP库中已经封装好的类,而在其中,有些类具有一些功能,例如文件读取、目录遍历等,这就给了我们可乘之机,我们只需要实例化这些类,就可以实现文件读取这种敏感操作。
用户9691112
2023/05/18
2.1K0
PHP 常见内置类浅析
微信H5支付完整版含PHP回调页面
一,微信H5支付只能用在手机浏览器中,比如百度浏览器,UC浏览器等,不可以用在微信中,微信中只可以使用公众号支付.要特别注意.
安德玛
2022/03/08
2.2K0
相关推荐
老洞新谈之phpcms v9.6.0任意文件上传漏洞
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档