Hackxiaoya / CuteOne

这大概是最好的onedrive挂载程序了吧,我猜。
http://demo.cuteone.cn
834 stars 201 forks source link

根目录加密问题 #43

Closed littlef0x closed 5 years ago

littlef0x commented 5 years ago

cuteone 2.2.1,Office365个人版。当设置根目录加密(即文件夹一栏留空)时,有几个问题:

  1. 假设绑定域名是xxx.yyy,那么直接访问https://xxx.yyy 可以看到所有文件夹,但是如果进入到某个驱动或者网盘,例如https://xxx.yyy/drive/?drive=4 或者https://xxx.yyy/drive/?drive=4&disk=9 ,会要求输入密码,但输入任何密码都不会通过
  2. 如果直接在https://xxx.yyy 点击文件夹,然后输入密码是可以进入的,即https://xxx.yyy/drive/?drive=4&disk=9&path=/zzz 格式是正常受密码保护的,但是每进入一个子目录都需要再输入一次密码,这是bug还是有意为之?
  3. 如果2是有意的,那怎么处理根目录和子目录密码不同的情况呢?我这里测试的情况是子目录密码无效,但是这样的话当我想单独分享某个子目录,就必须保证它的上级目录都不加密,或者使用一样的密码,这样存在安全问题。
  4. 建议加密以网盘为单位而不是驱动,否则当同一驱动下两个网盘有同名目录时,不清楚如何处理。
Hackxiaoya commented 5 years ago

本就不支持根目录加密。

Hackxiaoya commented 5 years ago

加密方式是路径为单位,先判断驱动。然后才是路径。不管你驱动里有多个网盘。只要是同目录都加密。

Hackxiaoya commented 5 years ago

假设目录为A/B/C 。如果你加密了A。别的都没加密。那么只要进A 就要输入密码。B、C都不需要。除非你给他们也设立了密码。

littlef0x commented 5 years ago

本就不支持根目录加密。

实际如果把文件夹一栏留空是可以设置成功的,就是我上面说的情况,写"/"不行,不过也不会报错。个人感觉根目录加密还是有必要的吧,如果文件夹很多又不想暴露在公网上,一个个单独设置会比较麻烦,写进nginx又不方便分享单个文件夹。

假设目录为A/B/C 。如果你加密了A。别的都没加密。那么只要进A 就要输入密码。B、C都不需要。除非你给他们也设立了密码。

测试了一下,确实只有根目录加密的时候才会出现所有子目录都需要输密码的问题,只加密指定文件夹时不会,所以这是一个bug?

Hackxiaoya commented 5 years ago

根目录加密是一个比较蠢的办法,如果要加密。直接加密整个模块就好了。。对模块入口加密即可。所以这个大家可以写扩展来支持。我表示我不会去做这个根目录加密的支持了。