首页 > 叨叨念念

[Bug]emlog6查询不存在的标签爆出数据库信息

发布时间:2018-11-27 09:19:09 来源:星知苑 作者:星之宇

平时可能会有删标签的习惯,有网站收录了删掉的标签,访客访问这个链接EMLOG6就会报SQL语句执行错误。

例如标签“测试”不存在,访问这个标签链接http://www.myxzy.com/tag/测试 就会报SQL语句执行错误,会出现以下提示:

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

346-1.png [break]

 

报错过程:通过访问标签链接路由分配到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;
		}	
    }

 

 

相关合集

  • 18榴莲视频下载 app进入安卓合集
18榴莲视频下载 app进入安卓合集

简介:18榴莲视频下载 app进入安卓合集这里就是有你最喜欢的东西,是男人都是懂的,也是在平时想要看视频的时候了,可以大量的为你来提供,还有很多的环保的东西在这里你可以直接的看到,没有任何的限制就是能够给你最简单的,让你在这里不断的去跟着各种节奏来进行摇摆,也是最大程度上的为你释放自我的时候提供了很多的资源还有方式。