Asp.net core 是否可能找到有关调用api的计算机/用户的任何信息?如果是,怎么做?

Asp.net core 是否可能找到有关调用api的计算机/用户的任何信息?如果是,怎么做?,asp.net-core,api-design,Asp.net Core,Api Design,我使用.net core 2和C#创建了一个api。我想知道是否有任何方法可以找到有关调用api的计算机或用户的信息。这是一个内部使用的api,所以理想情况下,我会让Windows用户知道api调用的来源,但是如果有什么我可以找到的(比如IP地址),我想知道如何找到。如果这根本不可能,我想知道,这样我就可以停止寻找解决方案了。不,这是不可能的。服务器只知道客户端选择告诉它什么,通常是通过请求头。但是,客户端也可以撒谎或“欺骗”这些头。因此,虽然像User Agent这样的东西看起来可能会给你一些

我使用.net core 2和C#创建了一个api。我想知道是否有任何方法可以找到有关调用api的计算机或用户的信息。这是一个内部使用的api,所以理想情况下,我会让Windows用户知道api调用的来源,但是如果有什么我可以找到的(比如IP地址),我想知道如何找到。如果这根本不可能,我想知道,这样我就可以停止寻找解决方案了。

不,这是不可能的。服务器只知道客户端选择告诉它什么,通常是通过请求头。但是,客户端也可以撒谎或“欺骗”这些头。因此,虽然像
User Agent
这样的东西看起来可能会给你一些关于操作系统/浏览器的信息,但所有这些都可能是完全虚构的


API的情况更糟,因为客户端通常都很瘦,而实际的程序员或任何连接到API的人都必须有意识地决定向您提供一些特定的信息,而大多数人不会这样做。web浏览器通常在没有用户干预的情况下发送某些标准内容,但即使这样,用户也可以更改或更改发送的内容。

不,这是不可能的。服务器只知道客户端选择告诉它什么,通常是通过请求头。但是,客户端也可以撒谎或“欺骗”这些头。因此,虽然像
User Agent
这样的东西看起来可能会给你一些关于操作系统/浏览器的信息,但所有这些都可能是完全虚构的


API的情况更糟,因为客户端通常都很瘦,而实际的程序员或任何连接到API的人都必须有意识地决定向您提供一些特定的信息,而大多数人不会这样做。web浏览器通常在没有用户干预的情况下发送某些标准内容,但即使这样,用户也可以更改或更改发送的内容。

您必须在客户端上实现这一点并发送到API。服务器只知道您的IP。获取有关计算机的信息(如用户名)、硬件特定信息(如硬盘序列号等)是与API通信的客户机的工作。您必须在客户机上实现此功能并发送到API。服务器只知道您的IP。获取有关计算机的信息(如用户名)、特定于硬件的信息(如硬盘的序列号等)是与APIFWIW通信的客户端的工作,这是auth的主要目的之一。如果您锁定了API,那么您就可以确切地知道谁或什么在使用它。通过注册过程,您可以强制客户端提供所需的特定信息/want.FWIW,这是auth的主要目的之一。如果您锁定了API,那么您就可以确切地知道谁或什么在使用它。通过注册过程,您可以强制客户提供您需要/想要的特定信息。