我有一个普遍的问题。我们通常应该清理用户通过他们发送响应的电话输入的SMS文本命令吗?如果是,我们应该立即消毒,即一旦消毒吗?有关在asp.net V4.5 / MVC中完成此操作的方法的任何想法? 我正在使用Twilio。 Twilio Helper有没有APis这样做?
答案 0 :(得分:0)
我们是否应该正常清理用户通过我们发送回复的电话输入的SMS文本命令?
我假设您的意思是"将发送到响应",就像在ASP.NET中的Response
对象一样?
与应用程序的所有输入一样,您应该在输出到响应时对其进行正确编码。您通常可以在数据库中以原始的,未编码的格式存储它,但如果将其输出为HTML或JavaScript,则应对其进行正确编码。
e.g。如果将"
字符输出为HTML,则应在输出点将其编码为"
。在MVC中,这是由Razor使用@variable
语法自动完成的。在经典MVC中,语法为<%: variable%>
(从不使用<%=variable%>
,因为这不会编码)。
如果输出到JavaScript,那么它应该是十六进制实体编码,因此"
变为\x22
。您可以使用@Html.Raw(HttpUtility.JavaScriptStringEncode(variable))
在MVC中执行此操作(此示例使用Razor)。
查看OWASP XSS Prevention Cheat Sheet,了解有关如何根据输出上下文正确编码的提示。