SQL Azure를 사용하여 EF 4.1과 함께 Asp.NET MVC 3을 사용하고 있습니다. 나는 linq 식과 저장 프로 시저를 둘 다 가지고있다.모든 특수 문자 허용 및 SQL 삽입/XSS 방지
지금은 "';&<>/
등의 모든 특수 문자를 입력하고 데이터베이스에 저장해야합니다. 그러나 렌더링 될 때 HTML로 렌더링해서는 안됩니다 (즉, 텍스트로 렌더링되어야 함). SQL injection 및 XSS 공격을 방지하려면 어떻게합니까?
@Html.TextBoxFor
또는 @Html.EditorFor
또는 레이블에 표시 할 때 우려되는 점은 무엇입니까? 입력 한 문자 유형에 대해 타협하고 싶지 않습니다. 이 방법에 대해 제안 하시겠습니까?
이러한 것들을 시도 할 수있는 개발 스테이션/데이터베이스가 있습니까? Afaik, EF를 사용하고 있기 때문에 EF *를 사용하지 않는 곳 (또는 SQL 매개 변수 등을 사용하지 않는 곳)을 제외하고는 SQL 삽입에 대해 걱정할 필요가 없습니다. 예를 들어, 스토어드 프로 시저 중 하나라도 SQL을 생성하고 실행합니까? 그들을 확인하십시오. 비슷하게, * 편집자와 레이블의 내용은 일반적으로 html로 인코딩되어 있습니다. 즉, 페이지가 html로 해석 될 때 * 텍스트로 렌더링됩니다. 나는 그들이 htmlencode다는 것을 확인하는 것이 좋을 것이라고 생각한다. – JayC