作者fumizuki (蒙面加菲狮)
看板Visual_Basic
标题Re: [.NET] 请问 VB.NET 怎麽预防 SQL INJECTION
时间Sat Apr 14 06:22:08 2007
※ 引述《mywheat (麦田)》之铭言:
: 请问,在 VB.NET 下怎麽预防 SQL INJECTION 的问题呢?
: 有无内建函式可以检查的呢?
: 谢谢..
1) 把单引号置换成两个单引号 (SQL Server会视为一个单引号字元)
id = replace(id, "'", "''")
sql = "select * from account where id='" & id & '"
2) 乾脆就把单引号移除
id = replace(id, "'", "")
3) 检查使用者有输入特殊符号,就显示警告讯息
If id.IndexOf("'") >= 0 Then
MsgBox "帐号中不可以有单引号喔"
End If
4) 栏位为数字型态时,检查使用者输入是否为数字
If Not IsNumeric(txtHeight.Text) Then
MsgBox "身高栏位必须输入数字"
End If
5) 输入文字用来当然物件(资料表、函数、...)名称时,用中括号包起来
sql = "select * from [data_" & username & "]"
--
▃▅▇▆▄ ▆▂▃ `
逝去感情如何能留住,半点痴情遗留殊不易,██▅▇▄▃ ▇▃▂" .
█████████▃i ▁▄▇
更多凄凄惨惨的遭遇…………██▆▃ █▅▆▃ˍ▄*
◢ ▂█▄▇▅▂▌.
我不知道,王~八~蛋~~! ▂▆███ █▄▃ 。fumizuki。Check。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.194.224.174
1F:推 shqpaxson:不是好方法,用SQL内建的传参数方式最好 04/29 13:24