繁体   English   中英

如何防止HTML进入ASP.NET Web表单文本框

[英]How to prevent entry of HTML into ASP.NET Web form text box

我在ASP.NET Web窗体中有几个文本框。 我想确保用户不在这些文本框中输入HTML。 但是,我不确定如何防止输入HTML。 因此,我决定只允许使用字母数字字符,空格,感叹号,尖锐符号,美元符号,百分号,插入符号,星号以及左右括号。 我省略了&符号因为我不希望它们输入类似“<script&rt; ...”的内容

我该怎么做呢? 我是以正确的方式做到的吗?

谢谢!

看看这里http://msdn.microsoft.com/en-us/library/ff649310.aspx

您可以在Web配置中放置一条毯子语句ValidateRequest = true将检查所有用户输入并在用户插入带有错误字符的内容时抛出错误。

如果你需要允许一些html标签,那么你需要自己动手。

默认情况下,该页面将阻止用户在文本框或textareas中发布HTML或脚本。 请参阅MSDN

我用过:

HttpUtility.HtmlEncode();

更多信息在这里

您可以使用方法从条目中清除HTML代码,如:

public static string ClearHTML(string Str, Nullable<int> Character)
{
    string MetinTxtRegex = Regex.Replace(Str, "<(.|\n)+?>", " ");

    string MetinTxtSubStr = string.Empty;

    if (Character.HasValue)
    {
        if (MetinTxtRegex.Length > Character)
        {
            MetinTxtSubStr = MetinTxtRegex.Substring(0, Character.Value);
            MetinTxtSubStr = MetinTxtSubStr.Substring(0, MetinTxtSubStr.LastIndexOf(" ")) + "...";
        }
        else
        {
            MetinTxtSubStr = MetinTxtRegex;
        }
    }
    else
    {
        MetinTxtSubStr = MetinTxtRegex;
    }
    return MetinTxtSubStr;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM