2011-08-18 4 views

답변

1

당신이 사용자가되어 입력으로, 즉이 신뢰할 수없는 데이터를 표시 할 때마다 당신은 그것을 사용해야합니다.

예를 들어 채팅 응용 프로그램에서 사용자는 게시물을 작성하여 페이지에 표시 할 수 있습니다. 이 경우 투입물을 살균하는 것이 중요합니다.

입력을 살균하지 않으면 사용자가 HTML 및 자바 스크립트 코드를 페이지에 삽입 할 수 있습니다.이 코드는 동일한 페이지를 보는 다른 모든 사용자에게 영향을줍니다. 이렇게하면 공격자가 페이지를 완벽하게 제어 할 수 있습니다.

반면에 애플리케이션에서 생성 한 데이터를 삭제할 필요는 없습니다. 즉, 예 (sanitize(flash[:notice]))는 필요하지 않습니다. flash을 사용하여 응용 프로그램에서 생성 된 상태 메시지를 표시한다고 가정하십시오.

+0

@DR 사용자가 (아마도 악의적 인) 데이터를 입력 한 경우 sanitize 메서드를 사용하지 않으면 어떻게됩니까? – Backo

+1

@Backo : ''이 발생할 수 있습니다. –

+0

내 대답이 업데이트되었습니다. –