如果替换了单引号,是不是就可以防止SQL注册?? 如果采用拼接字符串的方式写SQL语句,如果把参数里面的所有 ' 都替换成转移的单引号: '',是不是就可以完全防止SQL注入了?如果不能100%防止,请告诉为什么,谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 显然不能本来sql字符串就需要把'替换成'',你的处理对防止注入没有起到任何作用 --用字符实体来替代,单引号的字符实体是'替代后可以有一定的安全性,但最好还是要对内容进行敏感词检测. 不一定啊 还有很多危险的字符 比如 ; 而却体育的sql也没有' SQL注入不单单是'这么一个符号的问题,可以多看看这方面的资料。 SQL注入多方面的问题,使用参数,可以避免大部分 我的想法是,如果 sql语句里面, 只要保证参数是一个字符串,那么里面的任何敏感词,是不是都会当做字符串处理而失效呢?如果是,那还有必要替换敏感词吗?WHERE XXX = '各种危险字符 ' '' or and -- ' ; like % select insert ' 比如说:WHERE XXX = '各种危险字符 '' or and -- '' ; like % select insert ' 你的意思是把敏感词替换掉吗?假如用户就想输出一段含有敏感词SQL语句,给替换掉了不好吧? 显然搞反了 '号可以引起SQL注入但SQL注入不仅仅是'引起的。。 比如select * from table where username like 参数 起名字叫abc';drop table 不也有危险么 把你的参数 abc';drop table 里面的单引号换成俩看看:select * from table where username like 'abc'';drop table '结果参数就是个字符串,我不理解的是,不管你参数是什么危险的东西,都给它变成字符串了,它还能干什么呢? 我对SQL注入了解是不多,我理解就是通过地址栏参数、输入框输入SQL代码,执行了我们不想执行的SQL语句。可是我把单引号替换掉了,那么无论他们输入什么东西,SQL都会当做一个字符串处理了。我在网上查 如何防止SQL注入,查到很多方式。我的疑惑是:替换单引号的话还能被SQL注入吗? 如果能怎么注入? 如果不能,为什么大家不用这一种方式?而会有一大堆其它方式? 急,数据库两个日期想减,精确到小时和分 数据库主键的的类型选择 請教關於觸發程序停用的問題 新手提问:我的系统为什么装不上SQL SERVER 2000? 为什么我装不到sql server? 怎样删除数据库中父结点及所有子结点 这样写的sql, 不对? 请问如何在SQL2000中获取表的各字段的默认值以及其类型 求解:如何将以下代码创建成可远程调用的脚本 请问SQL server evaluation edition是哪个版本,是不是测试版啊? sql2008数据库恢复(日志错误) 如何在一个int型主键列中,找到一个最小的且还未存在的主键值?
本来sql字符串就需要把'替换成'',你的处理对防止注入没有起到任何作用
'替代后可以有一定的安全性,但最好还是要对内容进行敏感词检测.
WHERE XXX = '各种危险字符 '' or and -- '' ; like % select insert '
假如用户就想输出一段含有敏感词SQL语句,给替换掉了不好吧?
'号可以引起SQL注入
但SQL注入不仅仅是'引起的。。
select * from table where username like 'abc'';drop table '
结果参数就是个字符串,
我不理解的是,不管你参数是什么危险的东西,都给它变成字符串了,它还能干什么呢?