Добавить комментарий - CodeHelper

Добавить комментарий

Если пользователь конструирует запрос HQL вручную, используя конкатенацию строк, то NHibernate полностью открыт для атак типа HQL-Injection. Вот так делать нельзя:

Query query = session.CreateQuery("from Product where name='" + userSuppliedName + "'");

В тоже время, если использовать механизм NHibernate передачи параметров в запрос или использовать критерии для построения запросов, то никакой опасности инъекций нет:

Query query = session.createQuery("from Product where Name=:productName");
query.SetParameter("productName", userSuppliedName);
Внимание! Вы собираетесь отправить информацию от имени анонимного пользователя.
v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.