phpcms设计缺陷未审核文章也可看,解决

来源:互联网 发布:php上传文件带进度条 编辑:程序博客网 时间:2024/05/21 22:23

phpcms 在权限控制方面做得极为细致,功能相当全面。比如后台操作,默认禁止,没有明确授权的文件和action。都是不允许操作的。但最近,一条未经审核发布的一审中文章,却被百度抓取,并且点击后可以查看。经过查找原因。发现是设计上的一个逻辑问题未处理好造成的。
通常,文章设定审核程序后,未经审核,它的状态通常是1,或者2(到二级审核),只有经过审核同意发布,它的状态才是正常的事99。如果是动态的,可以通过查看状态来决定显示还是不显示。如果设定生成静态文件,也只有在审核通过后,才会生成静态的html文件。
这一切都看起来正常。但问题来了。如果这条稿件被修改,尽管仍然未通过审核。但它此时却生成了html文件。
原来,它默认修改的文件,都已经生成了静态文件,所以它重新生成。
经常测试,下载的phpcms无任何改动情况下,也存在这个问题。确认是系统代码设计上的问题,而不是本网站改动所致。
在edit 方法中,它首先就define(‘INDEX_HTML’,true);这样,就会生成html了。
找到问题所在,解决就好办了。加入文章状态的判断。
方法一。首先默认’INDEX_HTML’,false 。在查询状态后再改变此值。
方法二,在生成html文件的类中,加入文章状态的判断。状态为99(公开),就生成,否则就不生成。

0 0