Простая установка NHibernate, например, нет беглого NHibernate, нет HQL, ничего, кроме доменных объектов и файлов отображения NHibernate. Я загружаю объекты через:
_lightSabers = session.CreateCriteria(typeof(LightSaber)).List<LightSaber>();
Я применяю необработанный пользовательский ввод непосредственно к одному свойству в классе "LightSaber":
myLightSaber.NameTag = "Raw malicious text from user";
Затем я сохраняю LightSaber:
session.SaveOrUpdate(myLightSaber);
Все, что я видел, говорит о том, что да, в этой ситуации вы невосприимчивы к SQL-инъекциям из-за того, как NHibernate параметризует и экранирует запросы под капотом. Тем не менее, я также относительный новичок в NHibernate, поэтому я хотел перепроверить.
Спасибо!