使用扩展方法添加到String类中简化脚本注入处理

为了防止脚本攻击,一直对字符串进行html编码。很麻烦,所以想到用扩展方法向String类中添加一个静态方法处理脚本问题

添加一个MyExtensions.cs类

 

代码
/// <summary>
///MyExtensions 的摘要说明
/// </summary>
public static class MyExtensions
{

    
//string 前面的this指明了扩展方法所应用的类型
    public static string HtmlEncode(this string str)
    {
        
return System.Web.HttpUtility.HtmlEncode(str);
    }
}

 

页面就可以这样写

 

代码
 protected void Page_Load(object sender, EventArgs e)
    {
       
        
string content = "<script>alert('扩展方法向String中添加HtmEncodel编码')</script>";
        lblExtension.Text 
= content.HtmlEncode();  //字符串直接可以调用String类中的HtmlEncode方法
        
    }

 

 

posted @ 2010-05-26 16:56  蜉蝣  阅读(219)  评论(0)    收藏  举报