您好,登錄后才能下訂單哦!
一般處理頁(yè)面就是HttpHandler區(qū)域
-------------------------------封裝類庫(kù)
using System; using System.Collections.Generic; using System.Text; using System.Web; using System.Text.RegularExpressions; /* ************************** * 案例功能: * 1,URL地址欄阻止(參數(shù)為aspx則跳轉(zhuǎn)到錯(cuò)誤頁(yè)面) * 2,F(xiàn)orm表達(dá)阻止(表單的值為aspx則彈出錯(cuò)誤) * 3,阻止使用session ************************** */ namespace HttpModuleDome { public class MyHttpModule : IHttpModule { #region IHttpModule 成員 public void Dispose() { } public void Init(HttpApplication context) { context.BeginRequest += new EventHandler(context_BeginRequest); context.AcquireRequestState += new EventHandler(context_AcquireRequestState); } //開始請(qǐng)求階段 void context_BeginRequest(object sender, EventArgs e) { HttpApplication application = sender as HttpApplication; HttpContext context = application.Context; //Url地址欄阻止 if (context.Request.QueryString.Count > 0) { for (int i = 0; i < context.Request.QueryString.Count; i++) { if (context.Request.QueryString[context.Request.QueryString.Keys[i]] == "aspx") { context.Response.Redirect("http://www.baidu.com"); context.Response.End(); } } } //Form表單阻止 if (context.Request.Form.Count > 0) { for (int i = 0; i < context.Request.Form.Count; i++) { if (context.Request.Form[context.Request.Form.Keys[i]] == "aspx") { context.Response.Write("<script>alert('錯(cuò)誤');location.href='" + context.Request.RawUrl + "'</script>"); context.Response.End(); } } } } //進(jìn)入了HttpHandler區(qū)域,已經(jīng)有了session void context_AcquireRequestState(object sender, EventArgs e) { HttpApplication application = sender as HttpApplication;//Global.asax的基類 HttpContext context = application.Context;//封裝了ASP.NET要處理的單次請(qǐng)求的所有信息 if (context.Session.Count > 0) { //context.Response.End();//直接跳過AcquireRequestState之后的請(qǐng)求,結(jié)束請(qǐng)求 } } #endregion } }
------------------------------------web.config里面引用
<system.web> <httpModules> <add name="MyhttpModule" type="HttpModuleDome.MyHttpModule,HttpModuleDome"/> </httpModules> </system.web>
------------------------------------也可以在Global.asax文件里面寫
<%@ Application Language="C#" %> <script runat="server"> /* *格式:以Application_開頭 */ //開始請(qǐng)求階段 void Application_BeginRequest(object sender, EventArgs e) { // 在應(yīng)用程序啟動(dòng)時(shí)運(yùn)行的代碼 } void Application_Start(object sender, EventArgs e) { // 在應(yīng)用程序啟動(dòng)時(shí)運(yùn)行的代碼 } void Application_End(object sender, EventArgs e) { // 在應(yīng)用程序關(guān)閉時(shí)運(yùn)行的代碼 } void Application_Error(object sender, EventArgs e) { // 在出現(xiàn)未處理的錯(cuò)誤時(shí)運(yùn)行的代碼 } void Session_Start(object sender, EventArgs e) { // 在新會(huì)話啟動(dòng)時(shí)運(yùn)行的代碼 } void Session_End(object sender, EventArgs e) { // 在會(huì)話結(jié)束時(shí)運(yùn)行的代碼。 // 注意: 只有在 Web.config 文件中的 sessionstate 模式設(shè)置為 // InProc 時(shí),才會(huì)引發(fā) Session_End 事件。如果會(huì)話模式設(shè)置為 StateServer // 或 SQLServer,則不會(huì)引發(fā)該事件。 } </script>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。