Click here to Skip to main content
15,881,139 members
Articles / Web Development / IIS
Article

Cookie Spy

Rate me:
Please Sign up or sign in to vote.
4.85/5 (17 votes)
10 Oct 2001 202.2K   5.2K   61   28
Creating a CookieSpy explorer bar with ATL
  • Download source files - 44 Kb
  • Download dll - 64 Kb
  • Sample Image - CookieSpy.gif

    Introduction

    CookieSpy is a custom explorer bar. This extension was created for the monitoring of cookie activity and for the possibility to add and edit cookies. I used VC++ 6.0 (SP4) and ATL.

    Implementation.

    1. At first, every IE band object must implement a couple interfaces:
    - IDeskBand
    - IObjectWithSite
    I wrote a template class DeskBandImpl<> to implement all the IE necessary routines.

    2. Second, the band object must add to the registry the appropriate records to the "Component Categories" hive. I registered for CATID_InfoBand and CATID_CommBand categories. Certainly, you can use only one placement for band: vertical or horizontal at the same time.

    3. Next, when IE calls IObjectWithSite::SetSite method, the main objectives are:
    - to create a band window.
    - to advise DWebBrowserEvents2 event sink interface for receiving event notifications from a explorer

    4. CookieSpy::OnCreate method objectives:
    - to create MSHTML control for displaying HTML page from resource
    - to set external dispatch

    5. By processing events: BeforeNavigate2, DocumentComplete, NavigateComplete2, I try to update the cookie's information for the current document:
    - to parse cookie string
    - to update a main html page

    Cookie Edit Dialog

    6. Also the user can add and edit the cookie. If the cookie was stored on the hard disc, I try to find the cookie's file in cookie's folder for determining a expire date and domain\path info otherwise (in case lack of such file) I suggest that it's the session cookie. Then with help InternetSetCookie API I create a cookie for the specified URL.

    Environment.

    I tested this band under Win2k and IE 5.0 only

    Acknowledgments.

    Thanks a Neeraj Srivastava for his article "Implementing Web Browser Band Using ATL HTML Control"

    History

    12 Oct 2001 - New download files: These solve trouble with IE.5.5\6.0 and CookieSpy plug-ins.

    License

    This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

    A list of licenses authors might use can be found here


    Written By
    Web Developer
    Russian Federation Russian Federation
    I am freelance programmer. About 3 years of experience in C++ and I would rather use ATL, STL, WTL but not MFC Smile | :) . Main backgrounds are Win32 API, COM and Networking. Now I am interested about AI (Neural Network, Fuzzy Logic and GA). Currently based in Vladivostok, Russia.

    Comments and Discussions

     
    GeneralRe: Installing the Plugin Pin
    5-Jan-03 18:40
    suss5-Jan-03 18:40 
    GeneralRe: Installing the Plugin Pin
    Led16-Sep-03 11:50
    Led16-Sep-03 11:50 
    GeneralRe: Installing the Plugin Pin
    Anonymous15-May-03 11:52
    Anonymous15-May-03 11:52 

    General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

    Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.