|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;平安在之前看到老外的一篇文章,如今记不起这个很不错的热忱的有如我一样平常的年老人了,不外邮箱里另有和他会商的邮件。
有很多站点大概都有如许的情形,使用.inc和.asa包括文件来存储数据库毗连信息,出格是.inc的文件,想改失落有必要太多的工夫和做年夜幅度的程序调剂,好比我有个客户就是光.inc文件就有几十个,更别说asp文件了,想改是无从动手的。
因而我使用那位本国伴侣的履历,做了很少的一点修改,构成一个isapi的过滤器,但愿能使您的站点的inc和asa文件平安一点。
我不想把尺度的ISAPI的接口函数做逐一先容,对照周全的常识您能够使用VC的ISAPI工程模板来进修。在这里我侧重先容OnUrlMap和怎样用它来完成我们回护INC和其他文件平安性的历程。
isapifilter(InternetServerApplicationProgramInterface(ISAPI)filter)是绑定在IIS体系并监控产生在客户端从WEBSERVER读取文件事务的一种基于windows的程序使用。
因为他能够把持客户端和服务器间的数据互换,我们能够用它来进步WWWSERVER的使用功能好比扩大HTTP日记功效、完成本人的加密和考证体系。
OnPreprocHeaders--服务器预处置客户端头文件.
OnAuthentication--客户端考证.
OnUrlMap--服务器映照逻辑URL到物理路径.
OnSendRawData--服务器发送未经处置的数据到客户端(之前).
OnReadRawData--客户断发送未经处置的数据到服务器(以后,但在服务器处置之前).
OnLog--写日记到服务器文件.
OnEndOfNetSession--会话停止.
上面是OnUrlMap的用法:
DWORDCJsisapiFilter::OnUrlMap(CHttpFilterContext*pCtxt,
PHTTP_FILTER_URL_MAPpMapInfo)
{
//TODO:Reacttothisnotificationaccordinglyand
//returntheappropriatestatuscode
DWORDlenURL=strlen(pMapInfo->pszURL);
DWORDdwReferer=250;
constchar*szURL=strlwr((char*)pMapInfo->pszURL);
constchar*szExtension=&szURL[lenURL-3];
constchar*inExtension=&szURL[lenURL-4];
charszReferer[250];
//到服务器的数据已编码过了
if(strcmp(szExtension,".js")==0||strcmp(inExtension,".inc")==0||strcmp(inExtension,".asa")==0){
pCtxt->GetServerVariable("HTTP_REFERER",szReferer,&dwReferer);
if(szReferer[0]!=h){
charszRedirect[2];
charszContent[300];
DWORDdwRedirect=2;
DWORDdwContent;
sprintf(szRedirect,"");
sprintf(szContent,"
<html>
<head><title>平安文件</title></head>
<body>
<b><center><fontsize=+2>该文件包括非公然信息,您没有读取该文件的权限。</font></b><br><br><br><hr><ahref=mailto:bingb@emount.com.cn>mailto:bingb@emount.com.cn</a><br></center>
</body>
</html>
");
dwContent=strlen(szContent);
pCtxt->ServerSupportFunction(SF_REQ_SEND_RESPONSE_HEADER,szRedirect,&dwRedirect,NULL);
pCtxt->WriteClient(szContent,&dwContent);
returnSF_STATUS_REQ_FINISHED;
}
}
returnSF_STATUS_REQ_NEXT_NOTIFICATION;
}
编译后将编译完成的DLL文件拷贝到winntsystem32inetsrv目次下,然后在站点的属性内里的ISAPI过滤器增加一个过滤器,映照DLL到该文件便可。
从头启动W3SVC服务,然后会见:http://localhost/xxx.inc能够看到前往信息。
有任何成绩能够接洽:bingb@emout.com.cn
但愿该文章能对您有效。
</p>优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件 |
|