防止跨站点脚本编写C#

防止跨站点脚本编写C#,c#,xss,C#,Xss,您好,我使用HPE Fortify扫描了我的应用程序,它在我的代码上显示了一个跨站点脚本漏洞 如何防止基于以下代码的跨站点脚本编写 LabelErrorResult.Text += "<li>Duplicate selection for sequence " + ddl.SelectedValue + "</li>"; LabelErrorResult.Text+=“重复选择序列”+ddl.SelectedValue+“”; 使用HtmlEncode,然后像 Stri

您好,我使用HPE Fortify扫描了我的应用程序,它在我的代码上显示了一个跨站点脚本漏洞

如何防止基于以下代码的跨站点脚本编写

LabelErrorResult.Text += "<li>Duplicate selection for sequence " + ddl.SelectedValue + "</li>";
LabelErrorResult.Text+=“
  • 重复选择序列”+ddl.SelectedValue+“
  • ”;
    使用HtmlEncode,然后像

    String unsafevar = HttpContext.Current.Server.HtmlEncode("ddl.SelectedValue");
    
    LabelErrorResult.Text += "<li>Duplicate selection for sequence " + HttpContext.Current.Server.HtmlDecode(usafevar); + "</li>";
    
    String unsafevar=HttpContext.Current.Server.HtmlEncode(“ddl.SelectedValue”);
    LabelErrorResult.Text+=“
  • 重复选择序列”+HttpContext.Current.Server.HtmlDecode(usafvar);+“
  • ”;
    有关更多信息,请访问msdn

    ddl.SelectedValue是什么?请阅读以获得正确答案。您可以将其标记为正确答案。这是感谢@MarcusI的一种方式,因为我并不真正理解这行代码:Response.BinaryWrite(buffer);我也因为xss而遇到了这个问题,你知道如何解决这个问题吗?为什么需要Response.BinaryWrite?如果你编码然后解码它,你会得到原始的不安全代码。