2012-05-08 2 views
2

asp.net에서 크로스 사이트 스크립팅을 방지하는 데 사용할 수있는 기술은 무엇입니까? xss로부터 보호 된 웹 사이트를 만들기 위해 사용할 수있는 준비가되지 않은 구현이 있습니까?Asp.NET에서 XSS를 방지하는 방법

답변

2

오랫동안이 목적을 위해 사내 개발을 했었지만 마침내 Microsoft는 라이브러리를 제공했습니다. 우리는 이제 우리 도서관을이 도서관으로 완전히 대체했습니다.

string sanitizedString = Microsoft.Security.Application.Sanitizer.GetSafeHtmlFragment(string myStringToBeChecked); 

이 방법의 유일한 문제는 그것이 라인 끝 문자로 분리 된 여러 공백을 트림이다 : 다음과 같이 간단하게 사용할 수 있습니다. 그런 일이 일어나지 않게하려면 줄 끝 문자 (\ r \ n)와 관련하여 먼저 문자열을 분할 한 다음이 분할 된 문자열 앞뒤의 공백 수를 계산하고, 새니 타이 저를 적용하고, 공백을 다시 추가하고 연결합니다 .

이외에도 Microsoft 라이브러리가 정상적으로 작동합니다.

+0

감사는 불행하게도 :) – User05

+1

을 열심히 AntiXSS.GetSafeHtmlFragment는(). (V 4.2.1) 최신 버전에서 이전 버전에 취약하고 쓸모없는 것으로되어 사용할 수없는 :( – BornToCode

1

Microsoft 안티 크로스 사이트 스크립팅 라이브러리가 좋은 시작입니다. XSS를 막는 데 도움이되는 몇 가지 유용한 메소드가 있습니다. 지금은 더 큰 부분입니다 Microsoft Web Protection Library

0

다음과 같은 방법으로 크로스 사이트 스크립팅 공격을 보호합니다. 지금 거의 모든 HTML 태그 가능한 스트립과되었다 -

1. Use HtmlEncoding while saving the input content that is received from web application controls usch as textbox etc. 
2. Use InnerText instead of InnerHtml while displaying data on the page. 
3. Do the input sanitization before saving the data into database.