2008-12-02 51 views
1

我正在做這個系統Stacked,我正在創建搜索功能。而在這過程中它發生,我認爲也許 AR/NHibernate的Expression.Like(兄弟姐妹)可能也許不是100%的「安全」中,你可以創建這樣的東西; 「\ r \ ndrop database xxx; ---」和類似的東西......?ActiveRecord/nHibernate SQL生成「安全」嗎?

我希望他們是安全的,但我不知道......

回答

4

NHibernate的(並且通過擴展的ActiveRecord)生成用於查詢的形式sp_executesql 'select blah from table where column = @p1', '@p1 varchar(10)', @p1 = 'drop database xxx;---'的參數化的SQL語句。這些類型的SQL語句對於SQL注入來說是安全的,因爲參數的內容不會被執行(與使用簡單連接時不同)。

所以是的,兩者都是「安全」的。

+0

謝謝你,太棒了:) – 2008-12-02 04:03:47

0

如果你發現一個安全漏洞,你一定要備案。許多人依靠這樣的事情。