在一个正在工作的项目中,我最近被指派使用AntiXSS库(v.4.2.1)对用户输入进行编码,即使它与被遗弃的一样好,甚至没有最新版本的文档。我环顾四周,发现我可以使用这样的东西作为输入:
<input type="text" value='<%= Microsoft.Security.Application.AntiXss.HtmlEncode() %>' />
不幸的是,我正在处理的项目使用了Knockout库,所以如果我有:
<input type="text" data-bind="value: Something" />
这样的事情会成为可能吗?
<input type="text" data-bind="value: <%= Microsoft.Security.Application.AntiXss.HtmlEncode(Something) %>" />
编辑:忘了添加输入是在.ascx页面中处理的,而不是.aspx
答案 0 :(得分:1)
Knockout在客户端(Javascript)和服务器端的AntiXSS库上运行。你不能混合这两件事。在将ascx页面的代码隐藏发送到服务器后,您必须对其属性进行编码。