递归HTTP请求:如何防止页面调用自身

时间:2011-03-10 17:00:35

标签: asp.net iis architecture

我正在寻找一种防止页面重复调用方案的好方法。

我有一个页面,要呈现的页面需要向RSS源发出HTTP请求。如果该RSS源的URL恰好是当前页面,它将触发对自身的请求。新请求将启动另一个页面请求,这将启动另一个请求...这将持续到站点在此递归循环中所有可用连接都忙碌时停止运行。

一些注意事项:

  • 用户输入RSS的URL。
  • 这是CMS中的一个页面,页面的URL几乎可以是任何内容,并且可以在输入RSS URL后更改。
  • 在这种情况下,用户输入了一个指向远程服务器的URL,导致重定向回页面。

一些想法:

  1. 我可以在渲染之前拒绝来自localhost IP的所有请求。

  2. 在发送请求之前,我可以在一个公共位置跟踪哪些请求处于活动状态,如果它已经在同一地址的另一个请求中间,则甚至不会发送请求。

  3. 如果看到该用户代理,可能会在请求标头中添加自定义用户代理并拒绝该请求?

1 个答案:

答案 0 :(得分:0)

正在呈现的页面是否知道它自己的地址/ URL(它应该),如果是这样,它只是检查以确保它的地址与RSS不匹配?