什么叫做SQL注入,如何防止?请举例说明。

 我来答
zz270564642
2011-08-17 · TA获得超过238个赞
知道小有建树答主
回答量:342
采纳率:0%
帮助的人:172万
展开全部
以登录为例,假如登录语句是String sql="select count(user.id) from sys_user user where user.user_name='?' and user_pwd = '?' " ,如果参数 user_name 和usre_pwd没有经过加密处理
当user_name为 英文的 ' 则会报sql错误,山弊“引号内的字符串没有正确结束”等等。这样的错误如果给前台捕捉了,那么你的sys_user表就管不住了,当参数user_name or user_pwd 为 ' or 1=1 -- 时 ,拼成的sql语恒成立,像这样的情况就是一种比较简单的注入攻击行为,所 以最好把前台的参数,转换为一种数据库用不到的符号或者字符串(不是相关符号或关键字),比如,将英文的符号转成中文竖氏。现在最受欢迎的是将逗纤族参数加密,至于怎样加密就是题外话了,你可以自己去看下相关贴子,希望对你有些帮助
sinql
2011-08-17 · TA获得超过769个赞
知道大有可为答主
回答量:2362
采纳率:50%
帮助的人:987万
展开全部
其实就是含搭过滤危险字符,主要就是单引野皮号',要加强的话就把一些遍历函数颂老差也过滤掉,declare,exec之类的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-08-17
展开全部
sa 加密!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式