关于SQL注入的2个问题:1.怎么使用sql注入方式登陆,用户名输入什么,密码输入什么,2怎么防止sql登陆

 我来答
shanghai597
2011-12-12 · TA获得超过577个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:66万
展开全部
用户名,密码都输入: or 1 = 1
防止,写个函数,调用就可以了
function GetVariable(strVariableName)
if IsEmpty(Trim(Request(strVariableName))) then
GetVariable=empty
exit Function
end if
GetVariable=Replace(Trim(Request(strVariableName)),"'","''")
GetVariable=Replace(GetVariable,"=","")
GetVariable=Replace(GetVariable,"--","")
end function
flyingFish211
2011-12-12 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
用户名输入 a' or 1 = 1
密码: b' or 1 = 1

防止
1)参数化
2)过滤掉注入字符,如or --
追问
请问怎么防止,能给与一些代码吗?感谢
追答
1) 参数化是最有效的办法
java
stmt.setInt(j++, xxx);
stmt.setString(j++, xxx);
stmt.setDouble(j++, xxxx);

2) 当你传递参数的时候,自动过滤掉里面的敏感字符
通常为replace(str, '--', ''),
replace(str, "delete', ''),
replace(str, ' or 1=1', '')

sql注入只能防止,不能100%过滤掉的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qinghechaoge
2011-12-12 · 超过23用户采纳过TA的回答
知道答主
回答量:133
采纳率:0%
帮助的人:72万
展开全部
用户名输入 aaa' or 1 = 1
密码: bbb' or 1 = 1
防止
1)参数化
2)过滤掉注入字符,如or --
3) 执行前检查
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式