修复DTcms搜索结果显示待审核内容BUG

Hailin 发表于 2016-05-04 02:36:10 来源于CMS插件网 评论 0 点击 202
摘要:这个Bug可能很多人都没有发现,文章状态为待审核、不显示,以及未到发布时间的内容都会被查询到了,这是不是太神奇了,这搜索引擎居然穿越了。既然找到了问题,那么就跟随小编来看看怎么修复这一问题吧。

这个Bug可能很多人都没有发现,因为并不是所有人都会今天编辑好文章,明天在发出去,那小编是怎么发现的呢,其实很简单,小编曲有着一双爱折腾的双手吗,首页我们还是通过图片来看问题。

DTcms问题.jpg

过通图片我们可以看到,文章状态为待审核、发布时间为2017年的文章都被查询到了,这是不是太神奇了,这搜索引擎居然穿越了。既然找到了问题,那么就跟随小编来看看怎么修复这一穿越性的问题吗。

首页我们打开“DTcms.DAL”项目,找到“article.cs”第1199行,我们可以看到,查询的结果的条件除了“标题、摘要是否包含关键词外”就只有id>0这个条件,这很明显少了内容的状态筛选、以及发布时间的筛选。

4.jpg

那怎么加这两个条件呢,其它下面的内容小编不说,相信也都知道了,因为小编的服务器上有只狗,不给上传sql代码,所以没办法发源码上来,所以就附上一张图片吧。

代码修改.jpg

我们看到datediff后面有个字母d,d代表天,必须要到这一天,才显示这篇文章,当然对精度要求更高的可以用hh小时、mi分钟、甚至用ss秒也可以,这个按自己的需求来设置,因为DTcms的写法用的是d,那我们这里暂且也用d,到此我们的修复工作就做完了,是不是很简单啊。

热门资讯