当前位置:首页 » 好文分享 » 详情

    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) {

    打赏
    X
    打赏方式:
    • 支付宝
    • 微信
    • QQ红包

    打开支付宝扫一扫
    日期:2014年12月19日 16:55:39 星期五   分类:好文分享   浏览(78503)   评论(1)
    本文地址:https://www.blogs.hk/post-5.html   [百度已收录]
    声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!
    版权所有:《博客之家
    文章标题:《emlog isLogCanComment函数小BUG(MySqli)
    除非注明,文章均为 《博客之家》 原创
    转载请注明本文短网址:https://www.blogs.hk/post-5.html  [生成短网址]

    留言咨询

    自动获取QQ

    昵称

    邮箱

    网址

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

        站点统计

        • 收录网址:3370 个
        • 发布文章:3008 条
        • 在线人数:1人
        • 总访问量:270516699次
        • 本站运行:12年5月3天
        Copyright © 2025 博客之家 版权所有  
        關於本站免責聲明sitemap新站登錄