我有一个问题。我在这两个方面,客户端和服务器上声明了一个集合:
Images = new FS.Collection("images", {
stores: [imageStoreMongo],
filter: {
maxSize: 1048576, //in bytes
allow: {
contentTypes: ['image/*'],
extensions: ['png', 'jpg', 'jpeg', 'gif', 'svg']
},
onInvalid: function (message) {
if (Meteor.isClient) {
alert("Only png, jpg, gif or svg");
} else {
console.log(message);
}
}
}
});
问题是:客户端是否能够通过大小文件和类型限制?由于代码由客户端和服务器共享,因此有点令人困惑。
另外一个问题是,如果我更改矿井类型和恶意软件的扩展名以使其看起来像图像,那么CollectionFS会更具体吗?
答案 0 :(得分:0)
我还没有使用过CollectionFS,但一般的安全原则是永远不要相信客户端。客户端验证有助于实现可用性,但您也总是希望在服务器上进行验证。
至于上传带有图片扩展名的恶意软件,这对Security.SE来说更是一个问题: