11
回答
这条语句的错误在那里,麻烦兄弟给检查下!
华为云实践训练营,热门技术免费实践!>>>   
string sqlCheck = "select * from  articleControl_Table where '" + sqlChaXun + "' like  % '"+sqlXuanZ+"' % ";
<无标签>
举报
诸葛非卿
发帖于6年前 11回/385阅
共有11个答案 最后回答: 6年前
SQL 注入就是这样的代码导致的
--- 共有 1 条评论 ---
诸葛非卿这个仅仅是在管理有台使用的,用于查询数据库而已。。 SQL注入嘛,估计还没有办法进入到这么深,如果说已经能够进入到这里进行注入,那么前面的一些安全手段都没有用的情况下,这里就算进行防注入安全也是没有什么作用的。 6年前 回复

关键是这个代码,老是报错,是不是我的引用转义符号出现问题了?比如这里:% '"+sqlXuanZ+"' % ";

是不是这种情况呢?

给你个由你上面的得到的

select * from  articleControl_Table where 'a' like %'b'%

你跑跑上面的那种类型试试,能行就怪了。

select * from  articleControl_Table where a like  '%b%'

这样才是正常的吧。


你把你的这个字符串打印出来就知道了。

"select * from  articleControl_Table where '" + sqlChaXun + "' like  % '"+sqlXuanZ+"' % ";

为啥这里变量sqlChaXun两边要加单引号呢,这个是值才要的。去掉试试。like那里'%把单引号移到%里面去。

顶部