例如,
findByType: function(type) {
check(type, String);
var role;
if(type === 'user') {
role = 'user'
} else if(type === 'admin') {
role = 'admin'
}
Accounts.find({role: role})
}
在这种情况下,check(type, String);
不是必需的吗?
所以,如果我有自己的支票代码,则无需使用audit-argument-checks?
答案 0 :(得分:0)
audit-argument-checks
要求所有Meteor方法实际check
每个参数,如果不这样做,将在服务器上记录一条错误消息并作为“500 Internal”呈现给客户端服务器错误“。
此软件包可帮助您确保所有方法都实现基本的安全检查,但它不会为您检查您的参数(它无法猜测您的参数的预期类型),因此您仍需要调用{{1}除非你想让这个包抛出错误。
答案 1 :(得分:0)
您还可以通过执行以下操作来改进您的检查(除非您希望在类型既不是' admin'也不是' user&'时搜索Accounts.find({role:null}) #39):
params[:controller]
params[:action]
我知道已经有一段时间这个问题被问到了,但我在搜索其他内容时发现了这个问题,并认为我可以提出更好的表格。