문제

웹페이지에서 서식 있는 텍스트 편집기를 사용하고 있습니다..NET에는 HTML 태그 게시를 방지하는 기능이 있으므로 게시물 앞에 꺾쇠 괄호와 별칭 문자 쌍을 변경하는 JavaScript 코드 조각을 추가했습니다.별칭은 서버에서 필요한 꺾쇠 괄호로 대체된 다음 데이터베이스에 저장됩니다.XSS를 제외하고 이 문제를 해결하는 일반적인 방법은 무엇입니까?(즉.더 좋은 방법이 있나요?)

XSS(교차 사이트 스크립팅)에 대한 의견이 있다면 누군가에게 도움이 될 것이라고 확신합니다.

도움이 되었습니까?

해결책

실제로 해당 "기능"을 끄는 방법이 있습니다.이를 통해 사용자는 원하는 문자를 게시할 수 있으며 Javascript를 사용하여 문자를 별칭으로 변환할 필요가 없습니다.이 기사를 참조하세요. 요청 검증 비활성화.이는 귀하가 직접 검증해야 함을 의미하지만 귀하의 게시물 소리로 볼 때 어쨌든 귀하가 하려는 작업인 것 같습니다.다음을 수행하여 페이지별로 비활성화할 수도 있습니다. 여기 지침.

다른 팁

가장 안전한 방법은 사용자가 WISYWIG로 태그를 생성하는 것을 허용하지 않는 것입니다.아마도 이 사이트와 같은 마크다운 편집기와 같은 것을 사용하거나 여기에서 사용 가능합니다. 또 다른 접근법이 될 것입니다.

또한 요청에서 마크업이 전송되는 것을 중지하는 페이지 지시문 ValidateRequest=true를 유지하세요. 물론 이 오류가 발생할 때 이를 처리해야 합니다.사람들은 다음과 같은 Firefox 확장 프로그램을 사용하여 항상 요청에 태그를 삽입할 수 있습니다. 데이터 변조, 그러나 ValidateRequest=true는 최소한 ASP.NET이 해당 요청을 받아들이는 것을 중지해야 합니다.

XSS 공격에 대한 간단한 게시물이 최근 Jeff에 의해 작성되었습니다.또한 쿠키 도난에 대한 반 방어인 쿠키를 HttpOnly로 만드는 방법도 설명합니다.행운을 빌어요!

내 첫 번째 의견은 꺾쇠 괄호를 변경하기 위해 JavaScript를 사용하지 않는 것입니다.이를 우회하는 것은 브라우저에서 JavaScript를 비활성화하는 것만큼 간단합니다.거의 모든 서버측 언어에는 일부 HTML 문자를 해당 엔터티 문자로 변환하는 유틸리티 방법이 있습니다.예를 들어, PHP는 htmlentities()를 사용하며 .NET에도 이에 상응하는 유틸리티 메서드가 있다고 확신합니다.최소한 꺾쇠 괄호, 괄호 및 큰따옴표에 대한 정규식 대체를 수행할 수 있으며 이를 통해 보안 솔루션을 향한 먼 길을 갈 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top