我爱Aspx >> Asp.Net >> 用ISAPIfilter使INC、ASA文件安全在以前看到老外的一篇文章,现在记不起这个很不错的热情的有如我一般的年轻人了,不过邮箱里还有和他讨论的邮件。
有不少站点可能都有这样的情况,利用.inc以及.asa包含文件来存储数据库连接信息,特别是.inc的文件,想改掉有需要太多的时间和做大幅度的程序调整,比如我有个客户就是光.inc文件就有几十个,更别说ASP文件了,想改是无从下手的。于是我利用那位外国朋友的经验,做了很少的一点改动,形成一个iSAPi的过滤器,希望能使您的站点的inc以及asa文件安全一点。
我不想把标准的ISAPI的接口函数做一一介绍,比较全面的知识您可以利用VC的ISAPI工程模板来学习。在这里我着重介绍OnUrlMap以及如何用它来完成我们保护INC和其他文件安全性的过程。
isapi filter(Internet Server Application Program Interface (ISAPI) filter)是绑定在IIS系统并监控发生在客户端从WebSERVER读取文件事件的一种基于Windows的程序应用。
由于他可以控制客户端和服务器间的数据交换,我们可以用它来提高WWWSERVER的应用性能比如扩展HTTP日志功能、实现自己的加密和验证系统。
OnPreprocHeaders -- 服务器预处理客户端头文件.
OnAuthentication -- 客户端验证.
OnUrlMap -- 服务器映射逻辑URL到物理路径.
OnSendRawData -- 服务器发送未经处理的数据到客户端(之前).
OnReadRawData -- 客户断发送未经处理的数据到服务器(之后,但在服务器处理之前).
OnLog -- 写日志到服务器文件.
OnEndOfNetSession -- 会话结束.
下面是OnUrlMap的用法:
DWORD CJsisapiFilter::OnUrlMap(CHttpFilterContext* pCtxt,
PHTTP_FILTER_URL_MAP pMapInfo)
{
// TODO: React to this notification accordingly and
// return the appropriate status code
DWORD lenURL = strlen(pMapInfo->pszURL);
DWORD dwReferer = 250;
const char * szURL = strlwr((char *)pMapInfo->pszURL);
const char * szExtension = &szURL[lenURL - 3];
const char * inExtension = &szURL[lenURL - 4];
char szReferer[250];
//到服务器的数据已经编码过了
if ( strcmp(szExtension, ".js") == 0 || strcmp(inExtension,".inc") == 0 || strcmp(inExtension,".asa")
Ҷƪл˵?
Web服务器上防范基于ASP程序的木..[05-15]
IIS服务器排错指南及错误代码大全[05-15]
利用ASP木马程序获取管理权限[05-15]
一个ASP木马程序的源代码[05-15]
一个ASP统计制作实例[05-15]
用文本+ASP打造新闻发布系统[05-15]
防范ASP木马的十大基本原则[05-15]
ASP木马的原理和基本防范方法[05-15]
用ASP木马实现FTP和解压缩[05-15]
在ASP程序中实现数据库事务控制[05-15]