【发布时间】:2015-09-04 08:51:03
【问题描述】:
如何创建一个Application 来与我的WebAPI 交互。该应用程序会将一些信息发送到我的网站(WebAPI),然后我将使用此信息更新我的数据库,但问题是如何保护它,所以只有我的应用程序可以与我的网站交互?
设计用于部署到多台计算机的应用程序。并且用户可以匿名使用该应用程序。例如the lightshot app
【问题讨论】:
-
应用程序是部署在一台计算机上还是多台计算机上?您可以让您的应用程序发送登录凭据,或允许基于 IP 地址的访问。或使用数字证书。但我不确定您如何真正知道请求来自您的应用程序。毕竟,如果一个应用程序可以被计算机使用,那么它可以被人类阅读,并且您的应用程序使用的协议可以被欺骗。
-
好吧,我知道如果用户得到了客户端,我无法控制它,但我想保护它,所以
revers engineer / spoof my app不是那么容易 -
@MixedCoder:那为什么还需要授权呢?在进入这个兔子洞之前,请考虑要解决的问题的性质。您有一个允许未知用户向您的服务器发布信息的应用程序,并且您希望阻止未知用户向您的服务器发布信息?
-
该网站允许从网站匿名上传图片。我会说该应用程序通过与网站相同的 API 上传图像。我会说,如果最终用户复制了网站的源代码,他们可以使用相同的方法构建一个应用程序来自己上传图像。
-
@MixedCoder:他们可能对什么是“有效”或“无效”有一些定义。我不熟悉他们的代码或功能,所以我不知道那个定义是什么。关键是,你似乎完全走错了路。问如何沿着这条路前进对我们来说是陌生的,因为这条路本身没有多大意义。为什么您希望只有您的应用程序 连接到您的服务器?你想防止什么?如果服务器正常工作,为什么请求来自哪里很重要?
标签: c# authentication asp.net-web-api oauth oauth-2.0