.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Win Surprise Gifts!!!

Top 5 Contributors of the Month
Gaurav Pal
Post New Web Links

ISAPI Filters: Designing SiteSentry, an Anti-Scraping Filter for IIS

Posted By:      Posted Date: August 21, 2010    Points: 0   Category :ASP.Net

The Microsoft Internet API for IIS, ISAPI, sits between the client and the Web server. Therefore, you can access the HTTP data stream before IIS gets to see it. The project in this article takes advantage of the ISAPI architecture to create a filter that monitors access to a Web site to determine if visits are from typical users or from automated processes designed to pilfer information from your site. The author tracks the regularity of visits to the site to determine the likely source. Once the determination is made, the app either redirects the user or continues to track information about those hits.

Rodney Bennett

MSDN Magazine October 2001

View Complete Post

More Related Resource Links

ASP.NET: Intercept, Monitor, and Modify Web Requests with HTTP Filters in ISAPI and ASP.NET


There can be many reasons to reroute incoming Web requests. For instance, sometimes it's necessary to redirect a browser to a page based on user criteria without passing long lists of parameters in the URL. In the past, the only way to intercept such page requests and send them elsewhere was with ISAPI. Now, in ASP.NET, the IHttpModule interface provides notification of server requests, and lets you easily reroute them based on criteria other than browser type or version. Here the author demonstrates the use of IHttpModule for interception and explains the use of ISAPI filters for anyone who isn't yet using ASP.NET.

Panos Kougiouris

MSDN Magazine August 2002

Central Administration Could not retrieve ISAPI filters

I am having trouble with CA. When I try to open it errors pops up in event viewer  - Could not load all ISAPI filters for site 'SHAREPOINT CENTRAL ADMINISTRATION V3'.  Therefore site startup aborted. - The update cannot be started because the content sources cannot be accessed. Fix the errors and try the update again. Context: Application 'Search', Catalog 'index file on the search server Search' SO I wanted to add those filters and I went to ISAPI filters of CA but whe I try to open ISAPI , I receive following error  Filename \\?\C:\Windows\System32\inetsrv\config\applicationHost.config , line number 3155 Cannot add duplicate collection entry of type 'filter' with unique key attribute 'name' set to 'ASP.Net_2.0.50727'  Config Source:  <isapiFilters>                 <filter name="ASP.NET_2.0.50727.0"  path="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll"  enableCache="true" preCondition="bitness32"/> <filter name="ASP.NET_2.0.50727.0"  path="C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll"  enableCache="true" preCondition="bitness64"/>             </isapiFilters>

Using jQuery to Filter Table Rows

The project is using the .net GridView control, so I had limited control over the output HTML code. Still, I think this code can work for most tables. One thing to notice: you should use the class "filterable" on your table or on one of its parents for the code to work.
First, we need a text box:

GridView Multiple Filter AJAX Control

This AJAX control enables the user to filter data within any column inside a GridView. The user can add multiple filters and can delete existing ones too.

jQuery 1.4 Opacity and IE Filters

client side jQuery library after switching to jQuery 1.4. I ran into a problem with a shadow plugin that I use to provide drop shadows for absolute elements - for Mozilla WebKit browsers the -moz-box-shadow and -webkit-box-shadow CSS attributes are used but for IE

Customizing the UI around the Filters


I have started working on a new project and thought it would be a great idea to dig into the latest version of the Dynamic Data framework that shipped with VS2010.  For the most part, I am impressed, it seems to be pretty easy to extend and create a rich and flexibile UI -- at least that is what I thought until I got to working on a better layout for the filters.

The situation is this:

I have a table with 25 columns and I need to display around 10 different filters (basically and interactive report) -- the filters are of various types.

The problem:

How in the world do I custom the UI layout of the filters.  It seems that with the latest QueryFilterRepeater control we have been left with almost nothing to work with (outside of turning filters on/off and setting the FilterUIHint).  What if I wanted to wrap all of the filters in an expand/collapse region and then inside of that have then sitting in a table of no more than 4 columns (so with 10 filters I wold have 3 rows). 

I have tried extending the QueryFilterRepeater but it seems like there is nothing in that class that we can work with (the data binding events are not even used).

Am I missing something, or am I just out of luck right now?

Where to Filter the companies returned by the EF?



I am just starting with dynamic data. I have an enttity framework called UsersModel.edmx.

It returns a list of all companies in the tblCompany table. This list is really big.

I need to filter the list returned to all user controls on the client so that it only returns the company that have a CompanyTypeId= 2 or CompanyTypeId= 3 and company name != "".

1 - Is it possible to filter the company list returned on the server so that I can filter only once for all the controls that use that on the client?

My ideas was to do something like this using linq and lambda but I am not sure how:

return tblCompanys.Where(c => c.CompanyTypeId == 2 || c.CompanyTypeId == 3 && ).Where(c=>c.CompanyName != "").OrderBy(c => c.CompanyName).Distinct().OrderBy(c=>c.CompanyName);

2 - I have created a partial class and a metadata class and added the DisplayColumn attribute to use the company name and sort by company name ascending.

Could I use the code to filter the returned companies in this? where?

namespace MarsMedicalModel
    [DisplayColumn("CompanyName", "CompanyName")]
    public partial class t

Customising filters in .NET 4


I have a .NET 3.5 Dynamic Data site that I am now overhauling to make it work under .NET 4.  I have managed most of it now (painfully!) but am struggling to get my old custom filters to work.

Under .NET 3.5, the default filter mark-up looked like this:

<asp:FilterRepeater ID="FilterRepeater" runat="server">
        <asp:Label runat="server" Text='<%# Eval("DisplayName") %>' AssociatedControlID="DynamicFilter$DropDownList1" />
        <asp:DynamicFilter runat="server" ID="DynamicFilter" OnSelectedIndexChanged="OnFilterSelectedIndexChanged" />
    <FooterTemplate><br /><br /></FooterTemplate>
This code shows all possible filters above the table; i.e., every column in the table containing a foreign key to another table.  I didn't want to see them all, just the one I was interested in, so previously I had this mark-up in my ListDetails.aspx file:

<asp:Label runat="server" Text="Panel" AssociatedControlID="DynamicFilterPanel$DropDownList1" style="padding-left: 20px;" />
<asp:DynamicFilter runat="server" ID="

Filter by Computed Column



After looking for a driver to open legacy dbf drivers to connect, the next level trouble a have is this one:

first, i can retrieve the data but when trying to filter by a parameter (somesc columns) i get an error.

The error says about the database can't determine some blah blah!

The error is a columm tha is formated (  1234  ) about  8 space, fixed. The values in the query appears like that. I resolve this by Trimming Ltrim(ColumnName) and i get this (1234).

Now in SqlExpress, how can i filter by the new Trimmed Expression? (This is a primary key that the DBF use)


SELECT column1, column2, column3


SELECT Ltrim(column1) as NewExp, column2, column3
Where NewExpre = @NewExpres                  -Error-


Designing a heavy page



What should be the approach while designing when you know that your page would take considerable time to load? e.g. if it has controls which are heavy & some which are lighter? Can we make use of any of the design patterns to solve this issue?

LDAP nested groups filter


Hi all,

In my organization we use nested groups.

For a particular usage, we have a group (let's assume that the group name "kuku"), and the names of all the nested groups under it contains "kuku" as well.

We may assume that no other group in the LDAP has "kuku" in the name.

I need to create a filter which will return all the users which belong to one of the "kuku"s group.

Obviously, using this filter will bring only the head kukus

(&(&(objectclass=user)(objectclass=person))(memberOf=CN=kuku,cn=.rest of the group DN.))

How can I use wild card to fetch all users which belong to any kuku?

For example: (&(&(objectclass=user)(objectclass=person))(memberOf=CN=.*kuku.*))



Want to create Online Business Card designing functionality


 I am going to create Online Business Card designing functionality.

 I am newbie regarding graphics in asp.net. I want to create exactly like following site.




I have some questions


1) How can I write user text in existing image on the fly?

2) How to embed that with aspx page?

3) How to generate it with user inputs like text, font color, size?


Please give me any tutorial URL or any link that could help. Is there any compo

Urgently Need Help : Unrecognized Tag Prefix or device filter 'CR'


I have download and installed the Crystal Report for 2010 from my Visual Studio 2010. 


Problem 1 :

When I create a new crystal report in the Project, the aspx created code below :

<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server"
            AutoDataBind="True" GroupTreeImagesFolderUrl="" Height="1202px"
            ReportSourceID="MemberList" ToolbarImagesFolderUrl="" ToolPanelWidth="200px"
            Width="1104px" />
        <CR:CrystalReportSource ID="MemberList" runat="server">
            <report filename="MemberList.rpt">

 but there is error : unrecognized tag prefix or device filter 'CR'


Problem 2 :

The vb code of the crystal report that I had created has 'ComponentModel is not a member of 'MYPROJECT.system'



Cloud Patterns: Designing and Deploying Services for Windows Azure


To better understand how SOA patterns can be applied to Windows Azure deployments, we walk you through a scenario in which a bank moves its services to the cloud.

Thomas Erl, Arman Kurtagic, Herbjörn Wilhelmsen

MSDN Magazine January 2010

Entity Framework: Anti-Patterns To Avoid In N-Tier Applications


Danny Simmons explores some anti-patterns you should look out for when building n-tier applications with the Entity Framework.

Daniel Simmons

MSDN Magazine June 2009

Usability in Practice: Strategies for Designing Application Navigation


Good navigation makes for happy users, and happy users are good for your business. See what makes users happy this month.

Dr. Charles B. Kreitzberg and Ambrose Little

MSDN Magazine March 2009

Data Points: Designing an Entity Data Model


With the Entity Framework, developers are given more flexibility by being able to design around a conceptual model rather than a relational data model. To get started, you need to know how to design an Entity Data Model. John Papa walks you through that process.

John Papa

MSDN Magazine February 2008

ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend