2014-11-25 50 views
0

我使用的命令中使用的DDP toolcrater.io驗證認購/方法起源

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

我是從我的終端連接到DDP,所以真的抓取整個網站。我可以輕鬆構建API並實時吸收數據。我在瀏覽器外面訂閱postLists,這是它應該訂閱的地方。如果訂閱發生在瀏覽器之外,我想阻止它!

如果訂閱使用this.userId檢查登錄是否正常,但像crater.io這樣的網站不會要求登錄信息向您顯示最近的帖子,請求登錄某些訂閱是沒有意義的。

我們爲您提供競爭對手的免費實時更新數據庫。

這使得抓取任務變得更容易,並且您可以免費獲得實時更新。 如何檢測訂閱/方法沒有從加載整個Meteor應用程序的瀏覽器調用?

+0

你不能,任何東西都可以在這裏僞造 – 2014-11-25 09:42:42

回答

0

你不能,這基本上就是Meteor設計工作的方式。

此外,任何可以在線公開訪問的內容也是固有可抓取的。所以這有點像問你如何在網上發佈一個頁面,但是阻止人們用curl下載它的內容。

+0

的問題不是爬行而是因爲實時更新的RAM和CPU(Mergebox)。外部人不會每X分鐘/小時通過DDP連接,他將聽取並獲得新的更新。這可能不是今天的問題,但隨着流星人氣的增長,這將是一個常見的攻擊媒介。我可以很容易地浪費你的服務器,沒有DDP連接限制。 「足夠好」的防禦措施是強制攻擊者使用「phantomjs」(RAM限制)並加載頁面以訪問數據。我很樂意看到千年發展目標關注這一點。 – 2014-12-05 07:20:49

+0

噢好吧,所以你在談論更多關於DoS攻擊的事情。對於提供答案,我恐怕不太瞭解,對不起。 – Sacha 2014-12-06 07:43:44

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'); 
    } 
    } 
});