我必須連接到一個現有的存儲過程,在數據庫中保存一行文本。 現在我已經看到了sp,它是一個連接的字符串(我的文本被放置在該文件中)並且它與exec(@sql)
一起執行。exec sql避免sql注入的替代方法是SP_EXECUTESQL?
由於文本來自公共網站,我必須確保沒有SQL注入是可能的。
該數據庫的傢伙沒有聽說過SQL注入,所以他不知道該怎麼做,但因爲我不想暴露我的應用風險,我想知道可以做些什麼來防止sql注入。然而,我是比sql更程序員。
現在我已經找到'SP_EXECUTESQL(@SQL)'
存儲過程,這將有助於防止sql注入,還是仍然有可能進行惡意調用?
在此先感謝您的幫助。
向我們展示SQL語句的任何機會(當然是爲公共消費消毒)?如果你已經在使用參數,那麼你可能是安全的。 –
原來,sql的人可以很容易地用正常的存儲過程替換exec(@sql)。 – Michel