【发布时间】:2016-12-03 07:10:02
【问题描述】:
假设我编写了一段代码,对 web api 进行 http 调用,类似于:
$http.get('www.myapi.com/api/controller/endpoint').then(function(resp){...})
然后,我将此代码提供给居住在不同城市的两个人,他们从各自的房子(仅通过某些浏览器)访问我的 API。我的 API 可以从 http 请求中获取哪些信息,从而使我能够区分 A 和 B 调用它的人? IP 是否始终可用? MAC地址是否可用?那里还有什么?
A 在调用我的 API 时如何伪装成 B?
此外,如果 C 从他们自己的 Web API(后端)调用我的 Web API 怎么办?是否会提供相同的信息,或者会有什么不同?
这是一个普遍的问题,但如果您想了解具体情况,我们假设 ASP.NET Web API 2 正在接收 http 请求。
【问题讨论】:
-
也许创建两个游标,在另一个游标中使用一个?
-
你想用这些信息做什么?
-
@mrmcgreg:不需要用户登录的安全端点。或者至少,为我们提供一种识别和锁定恶意用户的方法。目前,我只是想了解一个整体情况。
-
你会有很多这样的东西,但它们可能或多或少对你的目的有用。 MAC 很容易被欺骗,共享路由器的客户端都将拥有相同的 IP。
-
当有人从后端进行 API 调用时,除了浏览器的一些内容外,您也将拥有大部分相同的东西。
标签: javascript c# security http asp.net-web-api2