首页| 论坛| 消息

回复: 求助下,如何在qt c++环境下防止sql注入
#6 回 fsu0413 的帖子 [whoami12131 01-30 13:07]
fsu0413:你可以想象一下%1里如果有单引号会是什么效果 (2020-01-29 13:52) 
会有sql ‘注入吧,但是具体怎么避免呢?请指点一下吧
#7 回 whoami12131 的帖子 [apud 01-30 15:21]
whoami12131:请问具体怎么做呢?我找了好多都是关于java的预编译的,c++这方面的实在找不到 (2020-01-30 13:06) 
static QString addslashes(QString str){
str = str.replace("\\","\\\\");
str = str.replace("\"","\\\"");
str = str.replace("'","\\'");
return str;
}
简单点的实现,写一个转义函数,SQL中的变量都转义一下……
#8 回 apud 的帖子 [apud 01-30 15:24]
apud:static QString addslashes(QString str){
        str = str.replace("\\","\\\\");
        str = str.replace("\"","\\\"");
 &nb .. (2020-01-30 15:21) 
这个是mysql中的知识点,和qt没什么大的关系,你可以先注入成功,然后再用该函数处理后看看能不能注入成功,自己动手试验看下是否有效果就知道了……
#9 [圣域天子 01-30 17:19]
确保文件本身不是公开在外网上,只要文件本身不存在被篡改的可能性,就是安全的。
如果你的学长指的就是这个文件的话,就不是什么大问题,毕竟在文件中存放SQL,是常用的方式。
而且一般SQL注入,指的是网上请求的形式进行的,本地文件都是安全的。
所以你的代码其实是常用的,没什么风险的。
#10 回 圣域天子 的帖子 [whoami12131 01-30 20:05]
圣域天子:确保文件本身不是公开在外网上,只要文件本身不存在被篡改的可能性,就是安全的。
如果你的学长指的就是这个文件的话,就不是什么大问题,毕竟在文件中存放SQL,是常用的方式。
而且一般SQL注入,指的是网上请求的形式进行的,本地文件都是安全的。
所以你的代码其实是常用的,没 .. (2020-01-30 17:19) 
好的,谢谢

<< 1 2 3 >> (2/3)

回复 发表
主题 版块