2012-07-03 24 views
0

在工作中,我最近被分配使用AntiXSS庫(第4.2.1節)對用戶輸入進行編碼,儘管它和放棄一樣好,甚至沒有最新版本的文檔。我四處張望了一下,發現我可以使用類似這樣的輸入:我應該如何在Knockout庫中使用AntiXSS庫?

<input type="text" value='<%= Microsoft.Security.Application.AntiXss.HtmlEncode() %>' /> 

不幸的是,我的工作的項目採用淘汰賽庫,所以如果我有:

<input type="text" data-bind="value: Something" /> 

會是這樣的可能嗎?

<input type="text" data-bind="value: <%= Microsoft.Security.Application.AntiXss.HtmlEncode(Something) %>" /> 

編輯:忘了補充一點,輸入用的.ascx頁面處理,而不是的.aspx

回答

1

淘汰賽客戶端(JavaScript)和AntiXSS庫運行在服務器端。你不能混合這兩件事。在將你的屬性發送到服務器之後,你必須在你的ascx頁面的代碼隱藏中編碼你的屬性。

+0

哦,從我在互聯網上收集的信息來看,我認爲我總是直接在輸入上進行編碼... –

+0

@AnaAmeer如果您直接輸入「但是輸入編碼/解碼」,我不知道您的確切含義必須在服務器端執行,因爲存在安全風險,如果您在客戶端執行此操作。 –

+0

我的意思是我寫的例子。我不得不直接在輸入值上應用HtmlEncode()(我至少見過三個例子)。儘管我接受了您的建議,並且解決了我的問題,所以謝謝! –

相關問題