0

我使用以下命令对crater.io使用了DDP 工具

ddp --host crater.io --port 80 subscribe postsList 10

我从我的终端连接到 DDP,所以它真的是爬取整个网站。我可以轻松构建 API 并实时获取数据。我postLists在浏览器之外订阅它应该订阅的地方。如果订阅发生在浏览器之外,我想阻止它!

如果订阅用于this.userId检查登录是可以的,但像crater.io这样的网站不要求登录以向您显示最新的帖子,那么对于某些订阅要求登录是没有意义的。

我们向竞争对手免费提供我们数据库的实时更新。

这使得抓取任务变得更加容易,并且您可以免费获得实时更新。如何检测未从加载整个 Meteor 应用程序的浏览器调用订阅/方法?

4

2 回答 2

0

你不能,这基本上就是 Meteor 设计的工作方式。

此外,任何可在网上公开访问的东西本质上也是可抓取的。所以这有点像询问如何在线发布页面,但阻止人们使用curl.

于 2014-12-05T07:02:31.173 回答
0

尝试这个:

Meteor.methods({
  MySecureMethod : function(){
    if(this.connection.clientAddress !== 'xxx.xxx.xxx.xxx'){
      throw new Meteor.Error('conexão DDP não permitida para esse host');
    }
  }
});
于 2015-09-20T20:28:51.193 回答