2008-12-02 52 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

如果你发现一个安全漏洞,你一定要备案。许多人依靠这样的事情。