日期:2014-05-20  浏览次数:20610 次

请教一下,我这样写,可以防止注入攻击么
我是用MYSQL数据库的,请各位高手帮忙看看,谢谢

str   =   str.replaceAll( "\\\\ ", "\\\\\\\\ ").replaceAll( "\ " ", "\\\\\ " ");

------解决方案--------------------
str = str.replaceAll( "\\\\ ", "\\\\\\\\ ").replaceAll( "\ " ", "\\\\\ " ");

=======

分析一下,把 \ 转换成 \\ , 再把 “ 转换成 \ " ,貌似很有道理。
但是人家输入 ‘ 你不转换成 \ '么?

==============================================
防止注入攻击,建议使用 prepareStatement来写sql。
或者直接在输入时把特殊符号禁止掉。
------解决方案--------------------
up下
------解决方案--------------------
解决注入攻击的最好方式还是使用 PreparedStatement,
------解决方案--------------------
1.PreparedStatement
2.自己判断好了就可以了。