【发布时间】:2015-08-29 21:06:08
【问题描述】:
所以我对 Sails.js 还是很陌生,但它似乎带来了很多东西,比如这些蓝图,
现在我有 2 个模型,Accounts / Friends
它使用关联,因为Accounts 有很多Friends
在我的客户端,我有一种向用户发送通知的方法,一种是好友请求,这样可以正常工作,它为用户提供了接受或拒绝邀请的选项
代码如下:
socket.on('accounts', function(data) {
if (data.verb === "addedTo" && data.attribute === "notifications") {
socket.get('/notifications/' + data.addedId, function(note) {
console.log(note);
if (!$.isEmptyObject(note)) {
$scope.notifications.push({
'text': note.from_name + ' sent you a friends request',
'id': note.id,
'type': note.type,
'from_id': note.from_id
})
$.notify('You have a new notification', 'info');
$scope.$digest();
}
})
}
})
$scope.accept = function(notificationId, fromId) {
}
当人们按下接受按钮时,我想为接受通知的人和发送通知的人添加一个朋友,这样它是相互的并且他们都是彼此的朋友。
我可以简单地做到这一点,方法是创建一个数据对象并对他们俩的朋友执行socket.post,然后执行socket.put 将通知更新为正在读取并处理它
唯一的问题是,我不希望人们进来打开JS控制台和垃圾邮件socket.post百万朋友给人们恶意
var obj {
'friend_name': 'Bill',
'online': 1
}
socket.post('/accounts/1/friends', obj);
那么,我怎样才能保护它,以便访问 post 到 /accounts/1/friends 的人只有应该访问它的人?
如果我没有意义,请问。谢谢!
垃圾邮件示例:
有人打开 JS 控制台就走了
var obj = { friend_name: 'bill', owner: 1 }; io.socket.post('/friends', obj);
现在id 1 的帐户有 500 次有 500 个朋友叫 bill
【问题讨论】:
-
您能否提供一个真实的此类垃圾邮件示例,
socket.post。我无法理解您的问题。 -
@HristoEnev 添加检查底部
标签: javascript node.js sockets sails.js