문제

사용자 보고서에서 'foo를 편집 할 때. TextBoxBar는 저장시 .NET 오류를 생성하는 특수 문자가 허용됩니다.

TextBoxBar.Text는 객체에 지정되고 nhibernate를 사용하여 저장됩니다.

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

그것이 끈을 벗어나지 않고 문서에서 찾을 수 없다고 생각합니다.

nhibernate 1.2.0은 끈을 자동으로 탈출합니까?

도움이 되었습니까?

해결책

나는 심지어 문자열을 피할 필요가 있다고 의심합니다. 나는 값이 매개 변수화 된 진술로 전달 될 것으로 기대합니다.

나는 이것이 nhibernate와 아무 관련이 없다고 생각합니다. ASP.NET 응용 프로그램이라고 가정하지만 이것이 단지 ASP.NET 오류라고 생각합니다. 이 경우 해당 페이지의 유효성 검사를 끄고 싶을 것입니다.

참조 유효성 검사시 ASP.NET FAQ 페이지 자세한 사항은.

다른 팁

질문에서 상황이 무엇인지 또는 ASP.NET 인 경우에도 사용자가 "잠재적으로 위험한 요청. 양식 값이 클라이언트에서 감지되었을 수 있습니다…"오류 메시지를 참조했을 수 있습니다. 순 생성?

그렇다면이 오류 메시지는 nhibernate와 관련이 없지만 기본적으로 ASP.NET은 크로스 사이트 스크립팅 공격 시도 일 수있는 위험한 형태의 입력을 감지하려고 시도한다는 사실과 관련이 있습니다.

이 문제를 해결하려면 모든 출력을 인코딩하는 HTML에 대한 책임을 져야합니다. 웹 양식을 사용하는 경우이 페이지 지시문을 페이지에 추가해야합니다 ...

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

... 그런 다음 입력을 직접 검증하고/또는 나중에 HTML에 포함시 출력을 인코딩하는 데주의를 기울여야합니다.

ASP.NET MVC를 사용하는 경우 컨트롤러 조치에 [ValidateInput] 속성을 추가하여 동일한 작업을 수행합니다.

[AcceptVerbs(HttpVerbs.Post)]
[ValidateInput(false)]
public ActionResult Edit(...)
{
   return View();
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top