[C#] 纯文本查看 复制代码
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
//添加白名单 白名单不做处理 这里可以添加多个白名单
Whitelist.Add("www.sufeinet.com".ToLower());
//添加黑名单 黑名单直接拉黑 这里可以添加多个黑名单
BlackList.Add("xiaomi.com");
}
[C#] 纯文本查看 复制代码
void Application_BeginRequest(object sender, EventArgs e)
{
//处理非法字符串
try
{
//首先判断该url是否在白名单中
string url = (Request.Url.DnsSafeHost + Request.Url.AbsolutePath).ToLower();
foreach (string item in Whitelist)
{
if (url.Contains(item))
{
//白名单中的字符串不做检查
ischeck = false;
break;
}
}
if (ischeck)
{
if (Request.QueryString != null && (!string.IsNullOrWhiteSpace(Request.QueryString.ToString())))
{
//检测字符串
CheckHtml(Request.QueryString.ToString());
}
if (Request.Form != null && (!string.IsNullOrWhiteSpace(Request.Form.ToString())))
{
//检测字符串
CheckHtml(Request.Form.ToString());
}
}
}
catch { }
}
#region 非法字符处理方法
/// <summary>
/// 检查是否存在Html标签
/// </summary>
/// <param name="str">html字符串</param>
private void CheckHtml(string str)
{
//首先判断黑名单 如在黑名单中直接跳到错误页
foreach (var black in BlackList)
{
if (str.Contains(black))
{
Redirect_Error();
break;
}
}
//如不在黑名单中则判断是否包含非法字符串
if (FilterHelper.CheckHtml(str))
{
Redirect_Error();
}
}
private void Redirect_Error()
{
Response.Redirect("/Error/BanError.html");
}
#endregion