如何防止对有价值的数据web服务进行数据抓取

本文关键字:数据 服务 抓取 web 有价值 何防止 | 更新日期: 2023-09-27 17:53:55

我有一个windows商店应用程序的好主意。我想使这个应用程序。然而,它需要一个大而有价值的数据库,我需要创建一个服务,使人们不能轻易窃取它。我的想法可能是在Azure上托管一个移动服务(我从未尝试过),并创建一个。net Web API项目,以接收请求并将Json像糖果一样分发给windows 8 mvvmclient。然而,我不想要的是有人嗅我的流量来回从应用程序到服务,并找出如何从使用我的应用程序和服务获得/发布数据,然后建立自己的应用程序/网站,显示这些数据使用我的带宽,让他们赚钱。

我如何保护我的应用程序到数据库的数据访问,使它不能逆向工程在我身上。

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

我知道我可以使用SSL等来加密来往的流量。我试图保护的是使用Firebug或Fiddler的人找出可以发布哪些参数以获得特定记录。然后创建他们自己的网站,简单地把我的服务作为终点,吸走我的数据,出卖我的带宽。ie。只要用firebug,我知道我可以用https://www.google.com/search?q=dallas在谷歌上搜索达拉斯这个词。即使我对页面进行加密,他们也可以在浏览器中看到这些内容。因此,如果有人在自己的应用程序中执行相同的get/post操作,他们将获得相同的记录,从而使用我的东西。

如何防止对有价值的数据web服务进行数据抓取

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

一旦你验证了你的请求,你就可以对那些不会影响普通用户的请求进行控制。你可以对请求进行评级、限制或节流,或者采取任何策略,使抽取大量数据集的时间非常昂贵。

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

我想我们遇到了同样的问题。我正在开发一个windows 8应用程序,该应用程序正在联系建立在windows Azure网站之上的web服务。我不希望坏人通过Fiddler之类的工具拦截流量,向我的服务发出一些虚假请求。

我在一个邮件组里问了这个问题,得到了一个提示。我从没试过,只是想告诉你。如果您的应用程序需要用户登录,那么用户密码是数据/流量保护的好种子。您可以使用密码生成密钥对、对请求签名并将其发送到服务器以及公钥。然后在服务器端,它可以通过公钥验证签名。

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

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

HTH

只是通过HTTPS提供,那么它们无法嗅探它。