仅接受来自特定主机的请求

时间:2013-05-24 09:35:15

标签: asp.net servicestack

我想过滤掉来自黑名单主机的请求。我做了一些研究,但没有发现任何可靠的信息(例如,使用RemoteIp或UserHostAddress)。

假设我的服务收到了几个产品的请求。例如:

仅从[“https://producta.com”]

获取/ ping

https://producta.com/上的产品A - 确定

https://anotherurlforb.com上的产品B - 禁止

这可行吗?

(我现在正在使用ServiceStack,我很喜欢它。)

2 个答案:

答案 0 :(得分:1)

在Request对象上,您可以查看ReferrerUrl

答案 1 :(得分:1)

您应该在网络层执行此操作,以完全阻止他们访问您的服务。如果你依靠你的服务来处理这个问题,那么你仍然会将自己暴露给列入黑名单的主机,即使你发出了禁止的回复。

如果您不控制网络但控制网络服务器,我会假设您在IIS中托管,请查看此链接,了解如何在IIS中设置地址限制。

http://www.hrzdata.com/node/46