jeecms无法修改子栏目顺序,引出的源码漏洞

老哥最近正在做一个cms的小项目(www.uni-orange.com),验收前期,逐一解决系统bug,直到一个bug的出现,害得老哥老老实实地坐了一天!!

简单介绍一下使用的cms框架:jeecms,国内开源的cms框架,其商业版jeecms并不开源,作为互联网产品,至今已经迭代到v8.1版本,这个数字说明:即使是一个产品,它仍然是存在问题,需要不断完善优化的。

相信多数使用过jeecms的开发或者网管在使用过程中多多少少都会遇到一些问题,jeecms官方提供了技术论坛去帮助用户解决问题,但是大多数问题普通用户是无权限查看的。

其商业版jeecms是提供源码的,在使用及二次开发中,通过其产生的问题作为驱动,查阅其源码,有了一点点了解,确实可以为解决问题提供帮助,不得不说,其底层实体类数据结构的设计确实很好(当然这与其选择hibernate框架是分不开的,这里并不是说hibernate框架有多好)。早前带过一个社科院的数据处理项目(数据结构偏复杂),现在回想起当初的数据结构设计......,这就是阅读源码的好处,取其糟粕,去其精华。没毛病。

不废话,上BUG:


修改排列顺序并保存,系统报错“系统发生了一点小故障”,好,开始解决这个问题:

1.查找日志,但并未发现其异常信息

2.本地debug,其日志级别配置在logback.xml中

将其改为“DEBUG”级别,便于调试,但是本地调试过程中,上述操作正常运行,问题并没有重现;

3.修改服务器上cms的日志级别,重启cms应用,远程调试tomcat,跟踪日志,发现异常:


NPE空指针异常,智者千虑必有一失,且不论这个问题是否是由于使用不当或是数据有误引起,出现空指针异常,就一定是代码有问题,至少是有漏洞的。

4.找到源码:


5.解决问题的方法已经明了:只需增加不为空判断即可(它这块的逻辑判断确实是存在疏忽的)

6.如果想找到问题产生的具体原因,就需要更加深入的跟踪代码,了解其数据处理的逻辑了

其实无论是生活还是工作中,都会遇到很多问题,不要慌,你要相信“世上无难事,只要肯放弃”。

不管是解决什么问题,首先要确认的就是解决思路,这会让你事半功倍。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
jeecms v9.3 正式版 源码包 更新日志 1、栏目添加选择模型模板只选择一个报错 2、内容复用待审核查询报错(开源版) 3、根栏目添加内容报错 4、后台页面样式调整 5、后台编辑器分页问题 7、数据统计今日数据没有问题 8、公众号推送菜单和群发微信菜单获取微信端消息返回处理 9、OSS管理添加appkey_secretId后台未解密导致数据存储错误 10、会员中心留言列表报错 11、工作流节点空值处理 12、手机模板在静态页生成的情况下url错误处理 13、新增百度主动推送 14、内容删除同时删除静态页(含FTP) 15、栏目和内容静态化调整成只生成前10页 16、activation jcaptcha freemarker JAR部分用户反映下载不了,调整pom采用本地jar 17、栏目没有选择模型模板的情况下,发布内容选择不到模型问题处理 JEECMS简介 JEECMS是JavaEE版网站管理系统(Java Enterprise Edition Content Manage System)的简称。 · 基于java技术开发,继承其强大、稳定、安全、高效、跨平台等多方面的优点 · 采用hibernate3 spring mvc spring2 freemarker主流技术架构 · 懂html就能建站,提供最便利、合理的使用方式 · 强大、灵活的标签,用户自定义显示内容和显示方式 · 在设计上自身预先做了搜索引擎优化,增强对搜索引擎的友好性 · 完全生成全站静态页面,可自定义路径结构,无需urlrewrite · 轻松建设大规模网站,可通过次级域名建立站群,各站后台管理权限分离,全站实现单点登录 jeecms页面展示:   相关阅读 同类推荐:CMS系统

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值