EMLOG6.0查询不存在的标签爆出数据库信息解决方法

平时大家用EMLOG的时候可能会有删标签的习惯,别的网站转载你的文章,收录了被删掉的标签,那么访客访问这个链接EMLOG6.0就会爆出SQL语句执行错误

例如标签“傲世”不存在,访问这个标签链接https://blog.aswlcm.cn/tag/傲世 就会报SQL语句执行错误,会出现以下提示:

emlog6.0查询不存在的标签报错

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

getTagByName中有2个函数getIdFromName和getTagById,getIdFromName会出现false的情况,getTagById没考虑到这种情况导致的。然后根据tag_controller.php之后的情况,修改函数getTagByName最为合适。

建议各位一定要修复,因为SQL报错会被一些安全网站或者搜索引擎识别为安全漏洞,减低权限。

修复方法如下:

打开 网站根目录\include\model\tag_model.php中大概47行函数改为如下

    function getTagByName($tagName) {
        $tagId = $this->getIdFromName($tagName);
        if ($tagId) {
            return $this->getTagById($tagId);
        }else{
            return false;
        }
    }
实际上就是加上了个判断,如果数据库查询不到该标签,就返回布尔值:假
版权声明:若无特殊注明,本文为《小傲世》原创,转载请保留文章出处。
本文链接:https://blog.aswlcm.cn/10.html
正文到此结束

热门推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

呵呵 哈哈 吐舌 开心 笑眼 可怜 乖 啊 你懂得 不高兴 生气 汗 黑线 哭 真棒 阴险 鄙视 酷 滑稽 纳尼 疑问 委屈 惊讶 勉强

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

私密评论

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


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