用于将潜在危险字符串列入黑名单的正则表达式



应该使用什么正则表达式将字符序列列入黑名单,该字符序列会导致 ASP.Net 中出现以下错误 - "从客户端检测到具有潜在危险的 Request.Form 值"。(例如
、<>等。

我需要使用 asp.net 正则表达式验证控件将那些会导致此错误的字符序列列入黑名单

例如,如果我输入 123<嗨>、有效等,我需要验证失败。

PS:我已经将
间隔开来,因为它在问题中没有正确显示它,但实际上它应该没有<或>之间的空格以及它们之间的字符串

对于您的示例,您需要以下正则表达式:"
||"。如果您需要将任何其他令牌列入黑名单,只需使用下一个"|<??>"序列。签名 |在正则表达式中意味着将组与 OR 条件匹配,因此示例表示实际匹配
或<>。

如果您只需要一个通用正则表达式,则任何潜在的 HTML 标记都失败,那么"<.*?>"应该可以完成这项工作。但这将会失败,如果对于<>之间的任何序列,不仅要大括号有效的HTML标记。

如果您想测试其他一些文本和正则表达式或了解更多信息,我建议两个非常好的网站:

http://www.regexr.com/

https://regex101.com/

这是一个快速而肮脏的解决方案,有一天会为某人提供相同的解决方案

添加 jquery 库

 $("input").bind("paste", function (e) {
      var pastedData = e.originalEvent.clipboardData.getData('text');
      $(this).val(Encode(pastedData));
      e.preventDefault();
  });
function Encode(str)
{
       return str.replace(/(<)(S+)(>)/g, '$2 ');
}

最新更新