Есть ли в nHibernate Escape-строки? - PullRequest
0 голосов
/ 01 мая 2009

Из пользовательского отчета 'при редактировании foo. textboxBar позволяет использовать специальные символы, которые выдают предупреждение .net error при сохранении '

textboxBar.Text присваивается объекту и сохраняется с помощью nHibernate

<property name="TextboxBar" length="255" not-null="false" />

Думая, что это может быть nHibernate не экранирует строки, но не может найти его в документах.

nHibernate 1.2.0 автоматически экранирует строки, ссылка приветствуется?

Ответы [ 2 ]

1 голос
/ 01 мая 2009

Не совсем понятно, какова ситуация из вашего вопроса, или даже если это ASP.NET, но мог ли пользователь ссылаться на сообщение об ошибке «Потенциально опасное значение Request.Form обнаружено клиентом…» что ASP.NET генерирует?

Если это так, это сообщение об ошибке не относится к NHibernate, но связано с тем, что по умолчанию ASP.NET пытается обнаружить опасные входные данные формы, которые могут быть попыткой атаки межсайтового скриптинга.

Чтобы это исправить, вы должны взять на себя ответственность за HTML-кодирование всех ваших выходных данных. Если вы используете веб-формы, вам следует добавить эту директиву на свою страницу ...

<%@ Page ValidateRequest="false" ... %>

... а затем убедитесь, что вы проверяете ввод самостоятельно и / или стараетесь всегда кодировать вывод при последующем включении его в HTML.

Если вы используете ASP.NET MVC, вы делаете то же самое, добавляя атрибут [ValidateInput] в действие вашего контроллера:

[AcceptVerbs(HttpVerbs.Post)]
[ValidateInput(false)]
public ActionResult Edit(...)
{
   return View();
}
1 голос
/ 01 мая 2009

Я сомневаюсь, что ему даже нужно экранировать строки - я ожидаю, что значения будут переданы в параметризованных выражениях.

Я сильно подозреваю, что это не имеет никакого отношения к nHibernate - я подозреваю, что это просто ошибка ASP.NET, хотя по общему признанию это предполагает, что это приложение ASP.NET. Если это так, вы, вероятно, просто хотите отключить проверку для этой страницы.

Подробнее см. На странице ASP.NET FAQ по проверке .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...