ASP网站制作之一个很有用处的ISAPIFILTER(使您的INC、...
无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥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;
constchar*inExtension=&szURL;
charszReferer;
//到服务器的数据已编码过了
if(strcmp(szExtension,".js")==0||strcmp(inExtension,".inc")==0||strcmp(inExtension,".asa")==0){
pCtxt->GetServerVariable("HTTP_REFERER",szReferer,&dwReferer);
if(szReferer!=h){
charszRedirect;
charszContent;
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能做到,例如银行安全控件 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件) 学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
页:
[1]