假设我构建了一个 Web 服务,以及一个调用该 Web 服务的客户端应用程序。
有什么办法可以阻止我以外的其他软件调用网络服务?
例如,想象一个游戏,玩家可以通过点击一个图标来获得一些钱,该图标每小时只能使用一次。如果用户已连接,那么。如果用户没有连接,他会“松开”获取钱的时间窗口。
在标准的 Web 服务 + 客户端中,任何青少年都可以轻松构建脚本/假应用程序来执行 Web 服务。
我怎样才能避免这种情况?我知道没有神奇的解决方案,但至少,我怎样才能提高编写此类工具的难度?
PS:我正在使用 Microsoft .Net 平台 + SilverLigth,但我觉得这个问题比 MS 技术更广泛。
[编辑]澄清一下,我不问如何添加身份验证,而是问如何避免用户自动调用 Web 服务。没有什么可以阻止拥有帐户的用户使用其帐户来自动执行呼叫;例如,我想要避免的是拥有一个具有实际身份验证的假应用程序,而不是每 5 秒执行一次用户输入。在游戏中,这样可以避免农夫机器人