0
다음 시나리오가 보안 위험 (XSS) 인 경우 생각합니다. 내 컨트롤러 중 하나에서
내가 가진 자바 스크립트 요청에 응답 :컨트롤러 내에서 html.erb 부분을 렌더링 할 때 Javascript를 이스케이프 처리합니다.
format.js { render :partial => "myobjects" }`
myobjects 부분 (_myobjects.html.erb
가) 데이터베이스에서 물건을 입력 부분 html로 (즉, 일부 템플릿에서 사용)입니다.
$.get(this.href, function(data) {
$("#myelement").html(data);
}, "script");
지금이 안전한지 자신에게 물어 : jQuery를 함께 지금 myobjects의 콘텐츠를 해당 사이트에 뭔가를 대체 할 수있는 다음과 같은 Ajax 요청을한다.
- 위와 같은 Ajax 요청에서 myobjects partial을 사용할 때 명시 적으로 일부를 이스케이프 처리해야합니까?
- 부분적으로 수동으로해야합니까? 또는 어떻게 든 렌더링 방법을 알릴 수 있습니까?
- 일반적인 html.erb 템플릿에서 같은 부분을 사용할 때 partial 내부에 escape_javascript 호출을 추가하면 어떻게됩니까?