1

我对 Windows 商店应用程序有一个好主意。我想做这个应用程序。但是,它需要一个大型且有价值的数据库,我需要为其创建服务,这样人们就不能轻易窃取它。我的想法可能是在 Azure 上托管一个移动服务(我从未尝试过)并创建一个 .net Web API 项目来接受请求并将 Json 像糖果一样发送到 Windows 8 mvvmclient。但是我不希望有人在应用程序和服务之间来回嗅探我的流量,并弄清楚如何使用我的应用程序和服务获取/发布数据,然后设置他们自己的应用程序/网站以使用我的带宽显示这些数据让他们赚钱。

如何保护我的应用程序到数据库的数据访问,使其无法对我进行逆向工程。

这也是开发这样的大容量 Windows 8 应用程序的最佳设置吗?你有更好的建议吗?

我知道我可以使用 SSL 等来加密往返的流量。我想要保护的是有人使用 Firebug 或 Fiddler 来确定可以发布哪些参数来获取特定记录。然后创建他们自己的站点,该站点仅将我的服务用作端点并虹吸我的数据并嫖娼我的带宽。IE。只是使用萤火虫我知道我可以使用https://www.google.com/search?q=dallas在谷歌上搜索单词 dallas。即使我加密了页面,他们也可以在浏览器中看到这么多。因此,如果有人在他们自己的应用程序中执行相同的获取/发布,他们将获得相同的记录,从而使用我的东西。

4

3 回答 3

3

您可以做的最直接的事情是使用类似OAuth的方式为您的用户设置身份验证。这将允许您确保不会以匿名方式与您的服务进行通信。

一旦您验证了您的请求,您就可以对那些不会影响普通用户的请求进行控制。您可以对请求进行速率限制或限制或任何数量的策略,以使从大部分数据集中抽出非常昂贵的时间明智。

例如,当您注意到大量用户从单个 IP 地址聚集时,您可以开始阻止请求。您可以对每个用户设置合理的限制(例如每分钟 10 次 API 调用,结果集限制为 50)。你明白我敢肯定。

于 2013-01-16T02:09:54.003 回答
1

我想我们遇到了同样的问题。我正在开发一个 Windows 8 应用程序,它正在联系基于 Windows Azure 网站构建的 Web 服务。我不希望坏人通过 Fiddler 等工具拦截流量,从而向我的服务发起一些虚假请求。

我在一个邮件组中问了这个问题并得到了一个小费。我从未尝试过,只是为了您的信息。如果您的应用程序需要用户登录,那么用户密码是数据/流量保护的良好种子。您可以使用密码生成密钥对,签署请求并将其发送到服务器以及公钥。然后在服务器端它可以通过公钥验证签名。

使用 HTTPS 是另一种方法。但如你所知,即使是 HTTPS,坏人也可以通过 Fiddler 知道实际数据。

使用证书可能是我认为的另一种解决方案。但我没有找到有关如何从客户端机器安装和选择证书的相关文档。

高温高压

于 2013-01-16T02:21:17.513 回答
-3

只需通过 HTTPS 提供它,然后他们就无法嗅探它。

于 2013-01-16T02:15:11.013 回答