asp.net防注入的两个自定义函数

本文介绍了两种实用的字符串处理方法:一种是验证输入字符串是否全部由数字组成;另一种是将可能包含HTML标签的字符串转换成安全的形式,避免XSS攻击。这两种方法在实际开发中非常有用,尤其是在需要对用户输入进行验证或转义的场景下。

 





一.如果参数全为数字:


// 检查字符串是否全为数字
public static bool IsNum(string Str)
{
    bool blResult = true;
    if (Str == "")
        blResult = false;
    else
    {
        foreach (char Char in Str)
        {
            if (!Char.IsNumber(Char))
            {
                blResult = false;
                break;
            }
        }
        if (blResult)
            if (int.Parse(Str) == 0)
                blResult = false;
    }
    return blResult;
}


应用:


string Topicid = Request.QueryString["Topicid"];
if (!IsNum(Topicid))
    Server.Transfer("Error.aspx?ErrID=404");


二.如果参数为文本.


// Html转换
public static string htmlstr(string chr)
{
    if(chr==null)
        return "";
    chr=chr.Replace("<","&lt");
    chr=chr.Replace(">","&gt");
    chr=chr.Replace("/n","<br>");
    chr=chr.Replace("/"","&quot;");
    chr=chr.Replace("'","&#39;");
    chr=chr.Replace(" ","&nbsp;");
    chr=chr.Replace("/r","");
    return(chr);
}


应用:string strClass = htmlstr(Request.QueryString["ClassName"]);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值