关于SQL注入的2个问题:1.怎么使用sql注入方式登陆,用户名输入什么,密码输入什么,2怎么防止sql登陆
3个回答
展开全部
用户名,密码都输入: 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
防止,写个函数,调用就可以了
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
展开全部
用户名输入 a' or 1 = 1
密码: b' or 1 = 1
防止
1)参数化
2)过滤掉注入字符,如or --
密码: 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%过滤掉的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用户名输入 aaa' or 1 = 1
密码: bbb' or 1 = 1
防止
1)参数化
2)过滤掉注入字符,如or --
3) 执行前检查
密码: bbb' or 1 = 1
防止
1)参数化
2)过滤掉注入字符,如or --
3) 执行前检查
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询