为了防止插件作者通过更新外链JS的内容来插入恶意代码,现考虑对外链JS进行内容审核。
考虑采用的审核方法:
因为网页插件代码不同于普通帖子内容,所以考虑招募专门的代码审核员进行审核。代码审核员需要对JavaScript较为熟悉,能够对网页插件中的恶意代码有所警觉。
要求所有插件仅可将外链JS存放于网页插件自定义数据中:
https://hu60.cn/q.php/addin.webplug.data.html
如果插件要引用公共JS库,只能从知名公共CDN域名引用;也可以把库里的JS放进网页插件自定义数据里,或者上传到虎绿林附件存储。但外链JS不得托管在作者自己的网站,或者任何其他可由作者自行修改代码的地方(比如Github)。
要求网页插件不得对代码进行混淆或加密。如果代码主要逻辑无法阅读,将不予通过审核。
对上传到虎绿林附件存储或插件自定义数据中的公共JS库,代码审核员可将其与官方发布的原版进行比较,以防插件作者偷偷插入恶意代码。
编辑含有网页插件的帖子或回复时,如果插件代码发生更改,则需要代码审核员进行审核。
网页插件自定义数据中以public_
开头的公共数据,需要由代码审核员审核后才能被其他用户使用。如果未经审核则只有作者才能看到。如果代码更新,新版本未经审核,则其他用户只能看到旧版本。
考虑对网页插件添加历史记录功能,以便代码审核员进行审核。审核控件可能会显示代码差异视图(diff)。
网页插件审核界面将独立于帖子审核界面,审核内容可能只有代码,点击链接才会跳转到来源帖子。
文件太多,又没公共的CDN,或公共CDN被墙咋办
例如这个插件,公共CDN有vditor的index.js和index.css,但没有
zh_CN.js
和lute.min.js
。配置里也没找到能单独配置这两个文件的配置[网插]Vditor Markdown 编辑器 - 网页插件 - 论坛 (hu60.cn)
可不可以外链的js审核过的缓存到hu60服务器,每次都调缓存,而不是外链。外链每次修改需要提交审核
http://www.1kmb.com
vditor@3.8.15.zip
@老虎会游泳,请求托管
@读书顶个鸟用,
网页插件自定义数据添加上传文件夹功能了,你可以自己上传了。文件夹名称记得改成“public_xxx”再上传。传不上去,文件超过50个。
@罐子,
仅限纯文本和小图。大型文件必须托管至 file.hu60.cn
@罐子,我已经告诉你了,虎绿林低速网络限速10秒50次。为什么要向网页插件上传50个文件?有什么库会有50个文件?
@罐子,我会对异常进行捕捉,这样失败后就不会一直转圈。但是限制不会解除。网页插件是网页插件,不是用来存储大量文件的地方。
@罐子,应该删除所有不会在网页中使用的文件,比如所有.ts文件。
@读书顶个鸟用,@罐子,即使删除所有.ts文件,
vditor@3.8.15
还是有185个文件,并且还包含虎绿林已经有了的highlight.js和mathjax。所以hu60.cn不是托管它的正确位置,我会上传到file.hu60.cn。@读书顶个鸟用,@罐子,
https://file.hu60.cn/js/vditor@3.8.15/index.min.js