我有一个RESTful API(http://192.168.123.222/apple/api/AuthorizeDocument)和一个WPF应用程序(abc.exe)
调用HTTP请求以通过以下JSON授权文档:
{UserId:“1234”,AuthToken:“1354654”,DocId:“123”}
是否仍然确保仅在从abc.exe调用请求时才处理HTTP请求?
答案 0 :(得分:1)
如果在预定义的位置安装了abc.exe
个应用程序 - 您只能从具有您选择的防火墙的位置(IP地址)限制对api的访问。
如果情况并非如此 - 您无法限制仅限该应用程序的呼叫。当然你可以硬编码一些秘密"在您的申请中,并要求"秘密"要传递给api,但这并不是真正的保护,因为任何人都可以通过反编译应用程序或通过嗅探流量来获取该秘密(https在这里获得帮助)并提取"秘密&# 34;这样。
根据此类保护的重要性,您可以使用更复杂的方法,例如为每个应用程序用户提供不同的许可证密钥"。首次启动"许可证密钥"应该在服务器上注册并且与ip地址注册有关。注册后,给定的许可证密钥只能用于从给定的IP地址拨打电话,并且您需要有效的(已知)许可证密钥才能拨打api。
但这些方法都不是100%安全的。