<%@ Application Language="C#" %>
<%@ Import Namespace="System.Data.SqlClient"%>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.IO" %>
<script runat="server">
void Application_Start(object sender, EventArgs e) 
{
// 在应用程序启动时运行的代码
}
void Application_End(object sender, EventArgs e) 
{
// 在应用程序关闭时运行的代码
}
void Application_Error(object sender, EventArgs e) 
{
// 在出现未处理的错误时运行的代码
}
void Session_Start(object sender, EventArgs e) 
{
// 在新会话启动时运行的代码
}
void Session_End(object sender, EventArgs e) 
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
}
void Application_Beginrequest(object sender, EventArgs e) 
{
string filePath = Request.MapPath("\\logo.txt");
string TempUrl = "请求:" + Request.Url.ToString() + " 来源:" + (Request.UrlReferrer == null ? " " : Request.UrlReferrer.ToString()) + " IP: " + Request.UserHostName.ToString();
for (int i = 0; i < Request.Params.Count; i++) 
{
string Temp = Request.Params[i].ToString().ToLower();
if (Temp.Contains("update") || Temp.Contains("delete") || Temp.Contains("iframe")) 
{
File.AppendAllText(filePath, TempUrl + " 值: " + Request.Params.Keys[i] + " = " + Request.Params[i] + " " + System.DateTime.Now.ToString() + System.Environment.NewLine);
Response.Redirect("/error.aspx?error=" + "对不起,存在非法字符");
break;
}
}
}
</script>系统会自动取得Post 或Get 过来的数据进行分析 如查有不允许操作的关键字就会把操作的日志记录在 txt文件中并重定向到错误的页面。