emlog6隨便訪問一個(gè)不存在的標(biāo)簽鏈接,例如:https://emlog.cn/tag/emlog

SQL語句執(zhí)行錯(cuò)誤: 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

20190408152559.jpg

報(bào)錯(cuò)過程:通過訪問標(biāo)簽鏈接路由分配到tag_controller.php控制器,控制器中執(zhí)行到函數(shù)getTagByName,直接tag_model.php中大概47行函數(shù)。

getTagByName中有2個(gè)函數(shù)getIdFromName和getTagById,getIdFromName會(huì)出現(xiàn)false的情況,getTagById沒考慮到這種情況導(dǎo)致的。然后根據(jù)tag_controller.php之后的情況,修改函數(shù)getTagByName最為合適。

建議修復(fù),因?yàn)镾QL報(bào)錯(cuò)會(huì)被一些安全網(wǎng)站或者搜索引擎識(shí)別為安全漏洞,減低權(quán)限。

修復(fù)方法:

tag_model.php中大概47行函數(shù)改為如下

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;
	}
}

內(nèi)容來源于:星知苑

上一篇
2022-09-03

視頻錄制工具oCam Pro 455.0 綠色去廣告版

下一篇
2022-09-03

在一個(gè)用謠言相互傷害的家庭里