我正在做這個系統Stacked,我正在創建搜索功能。而在這過程中它發生,我認爲也許 AR/NHibernate的Expression.Like(兄弟姐妹)可能也許不是100%的「安全」中,你可以創建這樣的東西; 「\ r \ ndrop database xxx; ---」和類似的東西......?ActiveRecord/nHibernate SQL生成「安全」嗎?
我希望他們是安全的,但我不知道......
我正在做這個系統Stacked,我正在創建搜索功能。而在這過程中它發生,我認爲也許 AR/NHibernate的Expression.Like(兄弟姐妹)可能也許不是100%的「安全」中,你可以創建這樣的東西; 「\ r \ ndrop database xxx; ---」和類似的東西......?ActiveRecord/nHibernate SQL生成「安全」嗎?
我希望他們是安全的,但我不知道......
NHibernate的(並且通過擴展的ActiveRecord)生成用於查詢的形式sp_executesql 'select blah from table where column = @p1', '@p1 varchar(10)', @p1 = 'drop database xxx;---'
的參數化的SQL語句。這些類型的SQL語句對於SQL注入來說是安全的,因爲參數的內容不會被執行(與使用簡單連接時不同)。
所以是的,兩者都是「安全」的。
如果你發現一個安全漏洞,你一定要備案。許多人依靠這樣的事情。
謝謝你,太棒了:) – 2008-12-02 04:03:47