【发布时间】:2017-12-01 05:27:33
【问题描述】:
我在服务器上有一个更新用户电子邮件地址的方法。我知道这只会在用户只有 1 个电子邮件地址时才有效,但目前还可以。
Meteor.methods({
'user.updateEmail'({ email, userId }) {
Meteor.users.update(
{ _id: userId },
{
$set: {
'emails.0.address': email,
'emails.0.verified': false,
},
},
);
},
});
我从 React 组件中的表单调用此方法:
const formSubmit = e => {
e.preventDefault();
const email = e.target.email.value;
const userId = Meteor.userId();
Meteor.call('user.updateEmail', { email, userId }, err => {
if (err) {
alert(err);
}
});
};
这不安全吗?我从客户端传递了 userId,所以大概可以更改它?
【问题讨论】: