nHibernate漏洞

时间:2009-06-08 14:34:53

标签: security nhibernate

我们已经使用nhibernate近一年了。 我想知道是否有任何可以使用Web应用程序注入的漏洞(如SQL注入等)。 我只是希望通过Web应用程序保护任何nhibernate注入,如果有的话。

2 个答案:

答案 0 :(得分:2)

我认为正确的OR / M管理器的一个要求是确保所有可以使用OR / M管理器执行的查询都能正确地防止SQL注入。

NHibernate为SQL Server生成参数化查询,因此这是安全的。

Offcourse,我不知道其他提供者(对于其他DBMS)如何生成...

答案 1 :(得分:1)

正如Frederik所说,查询是参数化的,因此您与SQL Server中的存储过程具有大致相同的SQL注入攻击风险。这意味着你可以安全地从直接SQL注入,但既不能保护你免受潜在的SQL注入。有关潜在SQL注入的更多信息,请查看Jeff Atwood博客文章的评论:Give me parameterized SQL, or give me death

NHibernate最大的安全问题是你必须向你的应用程序公开一个SQL帐户,它可以在数据库表上选择/插入/更新/删除(如果不做软删除)。使用存储过程,您可以公开只具有执行存储过程权限的帐户。对于许多地方来说这不是问题,但有些地方可能有严格的策略来防止直接表访问。