流星安全CollectionFS

时间:2014-10-26 09:46:32

标签: javascript collections meteor

我有一个问题。我在这两个方面,客户端和服务器上声明了一个集合:

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会更具体吗?

1 个答案:

答案 0 :(得分:0)

我还没有使用过CollectionFS,但一般的安全原则是永远不要相信客户端。客户端验证有助于实现可用性,但您也总是希望在服务器上进行验证。

至于上传带有图片扩展名的恶意软件,这对Security.SE来说更是一个问题: