1

我正在编写一些应用程序逻辑,可以识别对 IIS 5 aspx 页面发出的格式错误或恶意的 http post 数据请求。终止错误请求的最有效方法是什么?

在识别出错误请求时,将没有缓冲输出,并且 C# 函数退出堆栈很浅。

我目前的预感是 response.End() 的额外混乱及其线程终止异常,在 DOS 攻击情况下可能比常规的 204“无内容”响应更具破坏性。

为了了解我的网站正在做什么,所有 aspx 命中都会导致数据库查询活动的时间为 10 毫秒到 300 毫秒,因此在 0.5 毫秒内将格式错误的请求作为常规 204 回复进行响应代表了很大的节省。

4

1 回答 1

0

我会制作一个自定义 IHttpModule 并让它预处理所有 aspx(或您想要的任何其他文件类型)。

如果您不熟悉 IHttpModule 它们包含 OnBeginRequest OnError 等方法。您可以在 web.config 文件中注册它们。您可以轻松地在请求开始时运行自定义的,并让它寻找顽皮的位。

http://msdn.microsoft.com/en-us/library/ms227673.aspx

于 2009-09-08T12:36:19.440 回答