좋아,이 하나의 작동하지만, 나는 끔찍한 해킹의 정도에 대해 잘 모르겠습니다. 아무도 내가 한 일이 괜찮은지 아닌지, 왜 그런지 말해 줄 수 있습니까?자바 스크립트 문자열에 면도칼 템플릿
내 Razor와 JavaScript간에 템플릿을 공유해야 서버 측과 다른 클라이언트 측에서 템플릿을 공유 할 수있었습니다. 그래서, 여기에 내가 무슨 짓을 :
Func<dynamic, HelperResult> sampleTemplate =
@<span>Sample markup @item.Something</span>;
을 그리고,이 같은 내보기에 내 템플릿을 사용 :
for(int idxSample = 0; idxSample < Model.Number; idxSample++) {
@sampleTemplate(new { Something = "" })
}
그리고 자바 스크립트를 나는이 한 :
<script type="text/javascript">
var someJsTemplate = "" +
<r><[!CDATA[@sampleTemplate(new { Something = "" })]]></r>;
</script>
그래서를 나중에 필요할 때마다 나중에 someJsTemplate
을 추가 할 수있었습니다. 그렇다면 평결은 무엇입니까? 누구든지 더 좋은 방법을 볼 수 있습니까? 아니면 괜찮은가요?
편집 :
이 지금은이를 사용할 수 없습니다. FireFox에서 제대로 작동하지만 Chrome에서 내 해킹을 허용하지 않습니다. 어떤 도움이 필요합니까?
서버 측에 HTML을 저장하는 것에 대해 ... 글쎄, 면도기 뷰야, 그렇지? 따라서 서버 쪽이며 HTML을 포함합니다. 그러나 JavaScriptStringEncode에 관해서는 팁에 너무 많이 감사드립니다! JavaScriptStringEncode가하는 일을 거의 수행하는 도우미를 쓴 것입니다. 내가 알았 더라면 나를 구할 수 있었을거야 ... 어쨌든, 너를 짜내 라! – rdumont
@rdumont, 예'JavaScriptStringEncode'는 유용하며 XSS 사이트에 기꺼이 들려주는 악의적 인 사람으로부터 당신을 보호합니다 :-) –