2012-06-24 7 views
0

제 사용자가 서식있는 아름다운 텍스트를 입력 할 수 있도록 jQuery redactorjs를 양식에 사용합니다. 하지만 stackoverflow 브라우징 후 사용자로부터 일부 형식의 입력을 받아 들여서는 안된다는 응답을 발견했습니다. 여기에 link이라는 질문이 있습니다.jQuery WYSIWYG 편집기를 안전하게 사용하고 있습니까?

내 웹 사이트가 안전하기를 바래서이 jquery 플러그인을 사용하면 내 웹 사이트가 안전하지 않게됩니까?

+0

Redactor는 실제로 취약합니다 XSS에 추가 유효성 확인 없이는 출력을 사용하지 않아야합니다. – Gumbo

+0

이것은 다른 형태의 사용자 제어 입력과 다를 바 없습니다. 숨겨진 양식 변수도 보안에 영향을줍니다 ... – rook

답변

0

클라이언트로부터의 모든 html 입력을 허용하는 것은 안전하지 않습니다. jQuery 플러그인으로 사용자가 XSS을 만들 수 없어도 클라이언트가 실행중인 코드를 수정하는 것은 매우 쉽습니다.

markdown (예 : StackOverflow처럼) 또는 신중하게 허용 된 HTML 태그 및 속성 집합 (올바른 HTML을 출력으로 생성해야 함)으로 사용자 입력을 받아 들여야합니다. 올바른 일을하는 것은 매우 힘든 일이며 최상의 보안을 위해이를 수행하는 검증 된 라이브러리를 사용하는 것이 가장 좋습니다.

+0

내용을 출력하기 위해 stripslashes를 사용하면 어떨까요? –

0

참조하는 링크는 SQL 인젝션에 관한 것입니다. 여기에서 중요한 점은 해로운 입력을 방지하기 위해 클라이언트 측 라이브러리를 사용할 수 없다는 것입니다. 그러나 라이브러리를 사용하면 사용자가 형식이 지정된 텍스트를 입력 할 수 있습니다.

클라이언트 측에서 사용하는 라이브러리 종류에 관계없이 서버 측에서받는 입력의 유효성을 검사해야합니다. 악의적 인 사용자가 기술적으로 클라이언트쪽에있는 모든 라이브러리를 우회하여 자신이 원하는 것을 서버에 보내면 서버가 SQL 주입 공격 등 모든 입력을 검증해야 함을 인정해야합니다.

관련 문제