【问题标题】:Should one sanitize the SMS text command that the user texts via phone是否应该清理用户通过电话发短信的短信命令
【发布时间】: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


    【解决方案1】:

    我们是否应该通常清理用户通过手机输入并发送响应的 SMS 文本命令?

    我假设您的意思是“发送响应”,如 ASP.NET 中的Response 对象?

    与应用程序的所有输入一样,您应该在输出到响应时对其进行正确编码。您通常可以将其以原始的、未编码的格式存储在数据库中,但如果这是输出到 HTML 或 JavaScript,那么它应该被正确编码。

    例如如果" 字符输出到 HTML,那么您应该在输出点将其编码为"。在 MVC 中,这由 Razor 使用 @variable 语法自动完成。在经典 MVC 中,语法是 <%: variable%>(永远不要使用 <%=variable%>,因为这不会编码)。

    如果输出到 JavaScript,那么它应该是十六进制实体编码,所以 " 变成 \x22。您可以在 MVC 中使用 @Html.Raw(HttpUtility.JavaScriptStringEncode(variable)) 执行此操作(此示例使用 Razor)。

    查看OWASP XSS Prevention Cheat Sheet,了解有关如何根据输出上下文正确编码的提示。

    【讨论】:

    • 我说的不仅仅是回应。我还在考虑是否需要清理用户输入并通过 Twilio SMS 发送给我们的文本命令。我们是否应该在存储到数据库或将其显示在网页上之前对其进行清理?那么我应该使用哪一个来编码呢?我们也很困惑什么时候应该编码,什么时候应该解码。
    • 使用参数化查询或 EF 存储它,无需编码。输出到页面时编码,浏览器自动解码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    相关资源
    最近更新 更多