阻止用户以输入形式执行脚本

时间:2017-09-04 14:21:12

标签: c# .net xss

我注意到我可以使用以下语法在HTML输入中注入脚本:

'-alert("test")-'

我尝试通过删除C#中的所有特殊字符来解决问题:

Request.Params["s"] // i delete here all the special characters

然而,尽管如此,脚本仍在执行,我真的不明白为什么。 如果有人能对这个问题有所了解,请提前谢谢

PS:用于删除特殊字符的代码:

public static string RemoveSpecialCharacters(string str) 
{
   StringBuilder sb = new StringBuilder();
   foreach (char c in str) {
      if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || c == '.' || c == '_') {
         sb.Append(c);
      }
   }
   return sb.ToString();
}

0 个答案:

没有答案