首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用WriteElementString时如何避免XML注入

在使用WriteElementString时如何避免XML注入
EN

Stack Overflow用户
提问于 2013-05-15 06:16:15
回答 1查看 862关注 0票数 0

我有以下代码,并抛出了一个XML注入(请参见突出显示的文本) .can让我知道如何删除它。

代码语言:javascript
复制
private string GetRecordSet(OleDbDataReader oDR)
        {
            XmlTextWriter xTWriter = null;
            StringWriter oSWriter = null;
            int iRecCnt=0;
            string sName = String.Empty;
            string sValue = String.Empty;

            try
            {
                //Create Out XML    
                oSWriter = new StringWriter();
                xTWriter = new XmlTextWriter(oSWriter);
                xTWriter.Formatting = Formatting.Indented;
                xTWriter.WriteStartElement("SESSION");

                while(oDR.Read()) 
                {
                    iRecCnt++;

                    sName = oDR.GetValue(0).ToString();
                    sValue = oDR.GetValue(1).ToString();
                    **xTWriter.WriteElementString(sName, sValue);**
                }

                xTWriter.WriteElementString("TotalRecords", iRecCnt.ToString());
                xTWriter.WriteEndElement(); //ROWSET END

                //Return XML string. If no records found then return empty string
                string sRtrn = oSWriter.ToString();
                if (iRecCnt == 0) sRtrn = string.Empty;
                return sRtrn;
            }
EN

回答 1

Stack Overflow用户

发布于 2013-05-15 06:53:25

您没有以任何方式对输入进行消毒。它的XML可注入性是因为XML元字符可用于将代码更改为意外的行为。元字符的例子:单引号,双引号,<,>-任何在你的代码中放入的东西,实际上都会导致代码写出意外的xml元素或属性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16553743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档