【发布时间】:2014-03-19 20:12:52
【问题描述】:
我有一个一般性问题。我们通常是否应该清理用户通过手机输入并发送响应的 SMS 文本命令?如果是,我们是否应该立即进行消毒,即一旦出现?关于在 asp.net V4.5/MVC 中可以做到这一点的任何想法? 我正在使用 Twilio。 Twilio Helper 是否有任何 API 可以执行此操作?
【问题讨论】:
标签: asp.net security asp.net-mvc-4 twilio sms-gateway
我有一个一般性问题。我们通常是否应该清理用户通过手机输入并发送响应的 SMS 文本命令?如果是,我们是否应该立即进行消毒,即一旦出现?关于在 asp.net V4.5/MVC 中可以做到这一点的任何想法? 我正在使用 Twilio。 Twilio Helper 是否有任何 API 可以执行此操作?
【问题讨论】:
标签: asp.net security asp.net-mvc-4 twilio sms-gateway
我们是否应该通常清理用户通过手机输入并发送响应的 SMS 文本命令?
我假设您的意思是“发送到响应”,如 ASP.NET 中的Response 对象?
与应用程序的所有输入一样,您应该在输出到响应时对其进行正确编码。您通常可以将其以原始的、未编码的格式存储在数据库中,但如果这是输出到 HTML 或 JavaScript,那么它应该被正确编码。
例如如果" 字符输出到 HTML,那么您应该在输出点将其编码为&quot;。在 MVC 中,这由 Razor 使用 @variable 语法自动完成。在经典 MVC 中,语法是 <%: variable%>(永远不要使用 <%=variable%>,因为这不会编码)。
如果输出到 JavaScript,那么它应该是十六进制实体编码,所以 " 变成 \x22。您可以在 MVC 中使用 @Html.Raw(HttpUtility.JavaScriptStringEncode(variable)) 执行此操作(此示例使用 Razor)。
查看OWASP XSS Prevention Cheat Sheet,了解有关如何根据输出上下文正确编码的提示。
【讨论】: