emlog6.0标签查询bug

    选择打赏方式

emlog6随便访问一个不存在的标签链接

SQL语句执行错误: SELECT gid FROM emlog_tag WHERE tid = You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

报错过程:通过访问标签链接路由分配到tag_controller.php控制器,控制器中执行到函数getTagByName,直接tag_model.php中大概47行函数。

getTagByName中有2个函数getIdFromName和getTagById,getIdFromName会出现false的情况,getTagById没考虑到这种情况导致的。

然后根据tag_controller.php之后的情况,修改函数getTagByName最为合适。 建议修复,因为SQL报错会被一些安全网站或者搜索引擎识别为安全漏洞,减低权限。

修复方法:

tag_model.php中大概47行函数改为如下

function getTagByName($tagName) {
    $tagId = $this->getIdFromName($tagName);
    return $this->getTagById($tagId);
}
修改为
function getTagByName($tagName) {
    $tagId = $this->getIdFromName($tagName);
    if ($tagId) {
        return $this->getTagById($tagId);
    } else {
        return false;
    }
}
版权声明:若无特殊注明,本文为《曹杰峰》原创,转载请保留文章出处。
本文链接:https://www.caojiefeng.com/jyjc/190.html
正文到此结束

热门推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

嘻嘻 大笑 可怜 吃惊 害羞 调皮 鄙视 示爱 大哭 开心 偷笑 嘘 奸笑 委屈 抱抱 愤怒 思考 日了狗 胜利 不高兴 阴险 乖 酷 滑稽

评论信息框
可使用QQ号实时获取昵称+头像

私密评论

吃奶的力气提交吐槽中...


既然没有吐槽,那就赶紧抢沙发吧!