首页 > 叨叨念念

emlog isLogCanComment函数小BUG(MySqli)

发布时间:2014-11-20 08:42:26 来源:星知苑 作者:星之宇

今天论坛有人说评论有BUG,我看了一下,无意中注意到isLogCanComment函数。

	function isLogCanComment($blogId) {
		if (Option::get('iscomment') == 'n') {
			return false;
		}
		$query = $this->db->query("SELECT allow_remark FROM ".DB_PREFIX."blog WHERE gid=$blogId");
		$show_remark = $this->db->fetch_array($query);
		if ($show_remark['allow_remark'] == 'n' || $show_remark === false) {
			return false;
		}else {
			return true;
		}
	}

[break]以上是isLogCanComment函数的代码,数据库(连接方式使用mysqli)查询$show_remark的值应该是空值NULL,所以不能用===false。

注意:数据库连接方式使用mysqli就会出现这个问题

影响就是POST伪造gid,可以把评论发布到不存在文章gid下,影响应该不大。

 

解决方法:

修改emlog目录下includemodelcomment_model.php的isLogCanComment函数的代码

		if ($show_remark['allow_remark'] == 'n' || $show_remark === false) {
改成
		if ($show_remark['allow_remark'] == 'n' || $show_remark == false) {
或者
		if ($show_remark['allow_remark'] == 'n' || $show_remark === NULL) {

相关合集

  • 枪战射击游戏大全
枪战射击游戏大全

简介:火爆的各种枪械子弹穿梭的声音还有各种不同的任务的玩法,进行组队也可以进行单机的枪战手游相信是很多玩家的喜欢,丰富的故事剧情还有各种无限子弹无限复活,就是为了更快速的进行杀敌,有多种玩法这里小编收集了很多好玩不腻不管是单机还是手游的枪战类型的风格都是很多,赶紧来这里进行下载开始冲锋陷阵吧。