织梦系统(dede)安全问题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

在调用织梦系统(dede)SQL标签时如果sql语句中有子查询或联合查询等复杂查询时,会出现“SafeAlert:RequestErrorstep2!”错误提示,原因是出于安全问题的考虑!但有时又不得不使用这些复杂查询,故经本人研究成功解决了此问题,不敢独享,现发出希望能为大家解决一些问题!解决方案:1、在dedesql.class.php找到以下内容//老版本的MYSQL不支持子查询,我们的程序里可能也用得少,但是黑客可以使用它来查询数据库敏感信息elseif(preg_match('~\([^)]*?select~s',$clean)!=0){$fail=true;$error=subselectdetect;}if(!empty($fail)){fputs(fopen($log_file,'a+'),$userIP||$getUrl||$db_string||$error\r\n);exit(fontsize='5'color='red'SafeAlert:RequestErrorstep2!/font);}else{return$db_string;}将红色部份注释。2、以上方法虽可行,但全部程序都存在安全隐患,故不推荐,可使用如下方法:a)、如果你是在模板中调用,请在调用标签之前加上{dede:php}$dsql-safeCheck=false;{/dede:php}在调用之后加上{dede:php}$dsql-safeCheck=true;{/dede:php}b)、如果你是在php文件中调用,请在执行sql语句之前加上$dsql-safeCheck=false;在执行sql语句之后加上$dsql-safeCheck=true;以上两个解决方案均可成功解决织梦系统(dede)cms的安全问题,至于使用哪一个请读者自选。

1 / 1
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功