ASP.NET 脚本过滤 防止跨站脚本攻击
/// <summary>
/// HTML解码
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public string HtmlDecode(string input)
{
StringBuilder sb = new StringBuilder(
HttpUtility.HtmlDecode(input));
return sb.ToString();
}
/// <summary>
/// HTML编码
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public string HtmlEncode(string input)
{
StringBuilder sb = new StringBuilder(
HttpUtility.HtmlEncode(input));
//选择性的允许<b> 和 <i>
sb.Replace("<b>", "<b>");
sb.Replace("</b>", "");
sb.Replace("<i>", "<i>");
sb.Replace("</i>", "");
return sb.ToString();
}
相关文档:
有很久一段时间我的BLOG上没有出现AJAX相关讯息了,主要当然是因为绝大部分的重心都放到了Silverlight身上(可预期的未来应该也会是如此)。
但由于工作上的需要,最近还是回头看了一下即将推出的ASP.NET Ajax Library...,顺便找了一下网络上的讯息,看这个态势我猜想应该不少ASP.NET开发人员忽略掉了这个其实已经bet ......
1、使用Page.ClientScript.RegisterClientScriptBlock
RegisterClientScriptBlock方法可以把JavaScript函数放在页面的顶部。也就是说,该脚本用于在浏览器中启动页面。
Code
<%@ Page Language="C#" %>
<script runat="server">
protected void Page_Load(object send ......
缓存
缓存机制
页输出缓存:保存页处理输出,下次重用所保存的输出
应用程序缓存:允许缓存所生成的数据,如DataSet
㈠页输出缓存
1、页输出缓存的几中形式
①<%@ OutputCache Duration="60" VaryByParam="None" Location="Any"%>
Location指定在哪个地方缓存,Any任何地方都缓存。
60秒以内看到的都 ......
这是关于Asp.Net/XML深入编程的技术书,作者精心设计了66个实例详细介绍了.Net Framework以及XML技术在.Net Framework的编程方法和技巧。全书由12章构成,内容包括.Net平台的建立、Asp.Net的Web Forms、控件、数据访问、Web Service、Asp.Net的设置和跟踪、Asp.Net的安全 ......