应该使用什么正则表达式将在 ASP.Net 中导致以下错误的字符序列列入黑名单 - “从客户端检测到潜在危险的 Request.Form 值”。(例如 <br>、<hi>、<a> 等。)
我需要使用asp.net 正则表达式验证控件将那些会导致此错误的字符序列列入黑名单。
例如,如果我输入 123< hi > 、有效的 < abc > 等。我需要验证失败。
PS:我已将 <br> 隔开,因为它没有在问题中正确显示,但实际上它应该没有 < 或 > 之间的空格以及它们之间的字符串
应该使用什么正则表达式将在 ASP.Net 中导致以下错误的字符序列列入黑名单 - “从客户端检测到潜在危险的 Request.Form 值”。(例如 <br>、<hi>、<a> 等。)
我需要使用asp.net 正则表达式验证控件将那些会导致此错误的字符序列列入黑名单。
例如,如果我输入 123< hi > 、有效的 < abc > 等。我需要验证失败。
PS:我已将 <br> 隔开,因为它没有在问题中正确显示,但实际上它应该没有 < 或 > 之间的空格以及它们之间的字符串
对于您的示例,您需要以下正则表达式:“< br >|< hi >|< a >”。如果您需要将任何其他令牌列入黑名单,只需使用下一个“|< ?? >”序列。登录 | 在正则表达式中表示匹配具有 OR 条件的组,因此示例表示实际匹配 <br> 或 <hi> 或 <a>。
如果您只需要一个针对任何潜在 HTML 标记失败的通用正则表达式,那么 "<.*?>" 应该可以完成这项工作。但这将失败,如果 <> 大括号之间的任何序列不仅有效的 HTML 标记。
如果您想测试一些其他文本和正则表达式或了解更多信息,我建议您使用两个非常好的站点:
有一天,对于某人来说,这是一个快速而肮脏的解决方案
添加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 ');
}