在将字符串添加到XML之前对字符串进行消毒?

米奇

考虑以下代码:

private XmlDocument CreateMessage(string dirtyInput)
    {
        XmlDocument xd = new XmlDocument();
        string str = @"<Message><Request>%REQ%</Request><Message>";        
        str = str.Replace("%REQ%", dirtyInput);
        xd.LoadXml(str);
        return xd;
    }

我应该采取什么步骤来清理/验证dirtyInput字符串(它可以来自不受信任的来源)?

编辑:

为了提供更多的上下文,此XML“消息”然后(由我)发送到第三方Web服务。我最关心的是减轻某人可能向我传递一个字符串的风险,该字符串可能会利用我的XML解析器中的漏洞,或者甚至是目标[第三方]端(我向其发送此消息的人)的解析器中的漏洞。显然,我可以专注于特殊的XML字符,例如<>&等。我是否还需要担心这些字符的转义/编码形式?可能的重复链接中提到的SecurityElement.Escape方法是否足够?

系统发育

由于要生成XmlDocument,因此可以依赖DOM方法来为您处理所有转义:

private XmlDocument CreateMessage(string dirtyInput)
{
    XmlDocument xd = new XmlDocument();
    xd.LoadXml(@"<Message><Request></Request></Message>");
    xd["Message"]["Request"].InnerText = dirtyInput;

    return xd;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在将字符串添加到XML之前对字符串进行消毒?

来自分类Dev

将Xml字符串添加到Xml节点

来自分类Dev

java将cdata添加到xml字符串

来自分类Dev

将字符串添加到数字和数字添加到字符串

来自分类Dev

将字符字符串添加到sprintf

来自分类Dev

将字符添加到sql中的字符串

来自分类Dev

Appcelerator /钛合金-如何在将字符串添加到视图之前对其进行操作

来自分类Dev

Appcelerator /钛合金-如何在将字符串添加到视图之前对其进行操作

来自分类Dev

Linux 在将输出保存到文件之前将字符串添加到命令输出

来自分类Dev

将字符串的字符添加到空字符串

来自分类Dev

Scala在将字符串添加到排序集中之前先将其拆分

来自分类Dev

添加到字符串字段

来自分类Dev

将文档字符串添加到namedtuple字段

来自分类Dev

将新字符串添加到变量

来自分类Dev

将点击的单词添加到字符串

来自分类Dev

将字符串标题添加到双列Matlab

来自分类Dev

使用jQuery将字符串添加到textarea

来自分类Dev

将正斜杠添加到字符串

来自分类Dev

将字符串添加到变量scss @mixin

来自分类Dev

jQuery将属性添加到SVG字符串

来自分类Dev

将行号添加到python中的字符串

来自分类Dev

将字符串添加到$ .each中的iteslf

来自分类Dev

如何将字符串添加到数组?

来自分类Dev

JavaScript将+1添加到字符串

来自分类Dev

将字符串数组添加到ArrayList

来自分类Dev

将类添加到字符串中的元素

来自分类Dev

Pyspark,将冒号添加到单独的字符串

来自分类Dev

strcat将垃圾添加到字符串

来自分类Dev

如何防止PowerShell将\添加到字符串