Web開發和接管某些代碼的新手。他們有一個功能,以防止SQL注入,SQL Server數據庫SQL Server注入
function safe(val, maxsize)
dim i,
terms = array(
"cast",
"select",
"varchar",
"declare",
"drop",
";",
"--",
"insert",
"delete",
"xp_"
)
val = left(val,maxsize)
val = trim(val)
for i = 0 to ubound(terms)
val = replace(val, terms(i), "e_" & val & "_e", vbTextCompare)
next
val = replace(val, "'", "''")
makesafe = val
end function
猶豫要觸摸這個,但這是否缺少什麼?似乎他們偶爾砍死
如果他們被黑客攻擊,他們應該正確處理注入 - 使用帶有正確數據類型的參數化語句,驗證輸入並且不要盲目地基於用戶(甚至是應用程序)提交的字符串生成SQL語句。這個「安全」功能對我來說就像是一張虛假的安全毯。 –
使用**參數化查詢**而不是將您的SQL語句連接在一起是您**唯一可行的方法。忘記「消毒」你的輸入 - 你會永遠忘記一些東西 - 只是使用參數化查詢並用它來完成...... –
'exec'呢? – tugberk