asp.net mvc -在c#中检测来自本地主机的请求

本文关键字:主机 请求 检测 mvc net asp | 更新日期: 2023-09-27 17:49:17

我有一个挑战,我相信有一个比我更聪明的开发人员可以提供一些见解。

我有一个web服务。这个web服务是用ASP编写的。c#中的。NET MVC。我希望允许开发人员调用这个web服务。当开发人员编写代码时,我意识到web应用程序通常在本地主机上运行。当它们调用此服务时,我希望能够识别请求是否来自本地主机。但是,如果我查看IP地址,它是他们机器的IP地址。

我有办法做到这一点吗?明确的要求。IsLocal不能工作,因为我的web服务运行在完全不同的机器上。

asp.net mvc -在c#中检测来自本地主机的请求

当你调用web服务时,浏览器通常会在Referer报头中传递该页面。因此,您可以检查该值是否以"http://localhost"开头。实际上,http请求中的任何内容都可以伪造(包括此内容),因此要注意根据这些数据做出的决策。

如果不通过应用程序的请求传递一些额外的数据,您将无法知道。

您将只能获得用于向Web服务发出请求的IP地址或主机名,并且听起来您希望能够找到用于向应用程序发出请求的主机名(localhost)(然后触发对Web服务的调用)

如何定义local(从服务的角度)?您最好在不同的API端点上设置开发服务,而不是试图猜测这一点。

所有生产级API调用都可以转到api.yourservice.com,所有开发级请求都通过dev.yourservice.com进入。

你可以有两个独立的服务,或者让你的服务读取被请求的URL,并基于此区分。