1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Text;
5: using System.Web;
6:
7: namespace Site
8: { 9: class EncryptCookies:IHttpModule
10: { 11: #region IHttpModule Members
12:
13: public void Dispose()
14: { 15:
16: }
17:
18: public void Init(HttpApplication context)
19: { 20: context.AcquireRequestState += new EventHandler(context_AcquireRequestState);
21: context.EndRequest += new EventHandler(context_EndRequest);
22: }
23:
24: void context_EndRequest(object sender, EventArgs e)
25: { 26: HttpContext Context = ((HttpApplication)sender).Context;
27: HttpApplication Application = (HttpApplication)sender;
28: if (Application.Context.CurrentHandler is System.Web.UI.Page)
29: { 30: foreach (string CookieName in Context.Response.Cookies.Keys)
31: { 32: if (!CookieName.Equals("ASP.NET_SessionId")) 33: { 34: if (Context.Response.Cookies[CookieName].Values.Count > 1)
35: { 36: for (int x = 0; x < Context.Response.Cookies[CookieName].Values.Keys.Count; ++x)
37: { 38: Context.Response.Cookies[CookieName].Values[Context.Response.Cookies[CookieName].Values.Keys[x]] = //Encrypt the string here
39: }
40: }
41: }
42: else
43: { 44: Context.Response.Cookies[CookieName].Value = //Encrypt the string here
45: }
46: }
47: }
48: }
49:
50: void context_AcquireRequestState(object sender, EventArgs e)
51: { 52: HttpContext Context = ((HttpApplication)sender).Context;
53: HttpApplication Application = (HttpApplication)sender;
54: if (Application.Context.CurrentHandler is System.Web.UI.Page)
55: { 56: foreach (string CookieName in Context.Request.Cookies.Keys)
57: { 58: if (!CookieName.Equals("ASP.NET_SessionId")) 59: { 60: if (Context.Request.Cookies[CookieName].Values.Count > 1)
61: { 62: for (int x = 0; x < Context.Request.Cookies[CookieName].Values.Keys.Count; ++x)
63: { 64: Context.Request.Cookies[CookieName].Values[Context.Request.Cookies[CookieName].Values.Keys[x]] = //Decrypt the string here
65: }
66: }
67: else
68: { 69: Context.Request.Cookies[CookieName].Value = //Decrypt the string here
70: }
71: }
72: }
73: }
74: }
75:
76: #endregion
77: }
78: }