如何仅通过一个应用程序调用Web服务的方法?其他应用程序甚至不能通过Web服务地址使用它?我过滤了IP,但是没有用。攻击者程序可以部署在相同的网络和相同的IP上。
您可以使用其他解决方案进行身份验证。我建议您使用基于令牌的方案,例如Bearer身份验证。您可以在以下位置获取有关不同HTTP身份验证方法的 更多信息:https : //developer.mozilla.org/en-US/docs/Web/HTTP/Authentication以及有关Bearer方案的更多信息,请访问:https : //tools.ietf.org / html / rfc6750
感谢您回答问题。但是问题是攻击程序可以使用完全相同的方法,有没有办法只有我们的主程序才使用这种方法?还是有办法区分原始程序和攻击者程序?
我需要一个安全通道来连接其他应用程序无法使用的API。即使成功侦听,也将无法使用发送的信息。
您可以为应用程序的初始身份验证(登录)设置密码。在应用程序端使用公共密钥对其进行加密,并在服务器端使用相关的私有密钥进行解密。如果应用程序登录请求已通过身份验证,则设置令牌作为响应。该应用程序将在每个请求标头上使用令牌。
还可以使用传输层安全性或SSL在应用程序和服务器Api之间进行连接以提高安全性。祝好运。