知识记录-用ISAPI Filter限制网站文件多线程下载
ISAPI Filter
ISAPI可以开发出灵活高效的Web服务器(IIS)增强程序
ISAPI Filter能够对服务器和客户端之间的通信进行预处理和后处理,事件:
OnPreprocHeaders
OnAuthentication
OnUrlMap
OnSendRawData
OnReadRawData
OnLog
OnEndOfNetSession
为了做到文件下载的多线程限制,主要做的事:
1.维护网站当前的连接数列表,记录每个IP每个URI请求的连接数,
2.OnPreprocHeaders中做权限判断,如果当前请求的IP对URI的请求数超出最大连接数,则中止当前连接,返回出错状态码;如果没有超出最大连接数,则正常返回,并维护连接数列表
3.OnEndOfNetSession中维护连接数列表