关于SQL注入单引号替换成两个单引号的含义!!!

西安风影 2008-12-16 10:45:22
ParaValue=replace(ParaValue,"'","''")
这句就是防止sql注入的代码,大家给解释一下,这为什么可以防止sql注入呢。
...全文
854 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
西安风影 2008-12-16
  • 打赏
  • 举报
回复
哦明白了 两个''就是一个转义的意思。
umwelt99 2008-12-16
  • 打赏
  • 举报
回复
如果不想用replace,可以将之前的信息加密.
然后将传过来的数据再解密进行验证,就可以防止注入吧.
layers2323 2008-12-16
  • 打赏
  • 举报
回复
对, 如果不替换,那么 AAA'AA就没法认成一个字符串,这样如果在后面的AA上动些手脚,就能产生问题了。
Dogfish 2008-12-16
  • 打赏
  • 举报
回复 1
因为'AAA''AA'会当作是一个字符串塞进数据库。在数据库里是AAA'AA
layers2323 2008-12-16
  • 打赏
  • 举报
回复
sql语句是用'来引用标示字符串的吧,如果一个字符串中存在',sql可能会将这个字符串'以前内容认作一个字符串,后面的内容作为另一个sql语句,这样很有可能骗过验证。
wcwtitxu 2008-12-16
  • 打赏
  • 举报
回复
你到查询分析器执行

insert into youTable(field1) values('文字文''字文字');

再看看插进去的内容就明白了
yanniu008 2008-12-16
  • 打赏
  • 举报
回复
没见过 也没用过

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧