标签: meteor-methods

如何防止从JavaScript控制台调用'Meteor.call'?

我只是注意到,Meteor.call阻止用户调用集合的插入,更新,删除方法的概念仍然可以从JavaScript控制台调用.

对于客户的例子:

// client
...

Meteor.call('insertProduct', productInfo);

...
Run Code Online (Sandbox Code Playgroud)

这是服务器部分:

// server
Meteor.methods({
    insertProduct: function( productInfo ){
       Product.insert(...);
    }
})
Run Code Online (Sandbox Code Playgroud)

好的,我知道人们不能直接从他们的JavaScript控制台调用Product.insert().

但是如果他们再多尝试一下,他们会发现Meteor.call()客户端的JavaScript来自Developer工具的资源选项卡.

所以现在他们可以尝试Meteor.call从他们的控制台调用,然后尝试猜测应该是什么productInfo属性.

所以我想知道我们怎么能阻止这个最后的活动呢?是否Meteor.call做的工作不够好?或者我错过了一些重要的事情?

javascript meteor meteor-methods

6
推荐指数
1
解决办法
966
查看次数

异步函数的回调中的异常:TypeError:回调不是函数

我无法弄清楚为什么我位于server / main.js的插入查询代码 导致此 TypeError: callback is not a function错误消息。

以下代码位于:server / main.js

var businessCard = [{PostedDate: moment().add(0, "days").format('MM/DD/YYYY'), sentBy: currentUserId, recipientName: recipientName }];
Run Code Online (Sandbox Code Playgroud)

下一行是插入查询:

Messages.insert({businessCard: businessCard}, {multi:true});
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,没有对Messages集合进行任何插入,在浏览器控制台中也没有得到任何错误消息,但是当我检查终端时,看到以下错误消息:

这是我在终端中收到的错误消息

当我注释掉插入查询时,错误消息消失,使我认为我编写此插入代码的方式有问题。

请帮助我找出问题所在。

期待您的帮助

meteor mongodb-query meteor-methods

3
推荐指数
1
解决办法
1187
查看次数