Re: handle files which are passed through ISAPI filters.
What are you actually trying to do?
Your approach seems problematic to me. While you CAN virus scan every file
that is transferred, WHY do you want to do this? That is going to kill your
server performance because you are repeatedly doing the same work and you
turn off response caching of static files, a big no-no.
This is what is wrong with what you are proposing:
Suppose win32.exe is a 100MB file and gets downloaded 10,000 times a day.
Your ISAPI Filter causes the same 100MB file to be buffered and scanned
10,000 times a day when it is the exact same file. Suppose you add smarts
into the Filter to only scan non-changed files; you now need to persist that
state somewhere and validate on every request, which is still additional
work.
In other words, why don't you set your Virus Scanner to scan your
"downloads" directory periodically (or even better, scan files only on copy
into the downloads directory), instead of scanning on every request. That
seems like a far easier "process" solution to your problem, instead of
writing increasingly complicated code.
SF_NOTIFY_SEND_RAW_DATA gets you that data stream, but you will have to
figure out how to correctly buffer and interpret the data yourself. Files
are transfered through ISAPI Filter the exact same way that a text web page
or anything else from a web server - as a sequence of bytes. HTTP cares
about data streams; it does not care what "format" the stream is in -- that
is for the client and server to negotiate and interpret through HTTP
headers. Thus, you need to read and understand HTTP RFC specification to
know what to do.
--
//David
IIS
http://blogs.msdn.com/David.Wang
This posting is provided "AS IS" with no warranties, and confers no rights.
//
"karspy" wrote in message
news:1145109217.526869.299260@v46g2000cwv.googlegroups.com...
> Hi All,
>
> I want to handle files which are passed through ISAPI filters.
> If a client sends a request "http://195.225.177.33/vx/win32.exe", it
> passes through ISAPI filter to Webserver and data is sent from
> Webserver to ISAPI filter and then to browser.
> I want to download that file in ISAPI filter and scan those file by
> antivirus. So please let me know how files is tranfered through ISAPI
> filter.. In Binary format or any other format?
> Please let me know to handle the file passed through ISAPI filter.
>
date: Sat, 15 Apr 2006 16:43:29 -0700
author: David Wang [Msft]