emlog isLogCanComment函数小BUG(MySqli)

今天论坛有人说评论有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;
		}
	}


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

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

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

解决方法:

修改emlog目录下include\model\comment_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) {

文章转自:星知苑,欢迎大家投稿: http://likinming.com/post-87.html


版权所有:《博客之家
文章标题:《emlog isLogCanComment函数小BUG(MySqli)
除非注明,文章均为 《博客之家》 原创
转载请注明本文短网址:https://bk.likinming.com/post-5.html  [生成短网址]

日期:2014年12月19日 星期五   分类:好文分享   浏览(14786)   评论(1)
百度暂未收录本文
声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。免费发布信息

留言/评论:◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

自动获取QQ

昵称

邮箱

网址

1楼、王语双 [回复该留言]
2014-12-19 17:58
例行路过,博主周末好!不懂,也照顶。

网站收录提交

  • 名称:
  • 网址:

网址统计

  • 收录网址:965 个
  • 发布文章:2520 条
  • 本站运行:5年7月
Copyright © 2012 - 2018 by 李明关于本站免责声明本站下载站点地图sitemap广告联系
2054