提示
本插件使用需要有一定的动手能力,并且需要对腾讯云COS和CDN的使用有一定的了解,小白请勿尝试!
本插件使用前请先在测试环境中尝试相关功能,请勿直接应用于生产环境!
应用场景
如果你在使用xiunobbs时遇到下面这些问题:
- 服务器带宽太小,论坛附件下载缓慢,用户体验差
- 虚拟主机存储空间太小,存不下那么多的附件
- 担心服务器(虚拟主机)商家跑路,论坛附件数据丢失
- 网站附件太多,每次备份都太麻烦了
- 担心被人获取到附件的真实路径而被盗用
那么你可以考虑使用这款插件了!
插件功能
- 附件同步:安装插件后上传的附件将自动同步到腾讯云cos(对象存储),并将在腾讯云中的文件路径存入数据库
- 链接鉴权:安装插件后上传的附件,在帖子中点击"附件下载"将自动生成鉴权链接,可设置附件下载链接过期时间,链接过期后将无法访问,需要重新点击"附件下载"再次生成鉴权链接,充分提高安全性
- 加速下载:支持生成源站下载链接与CDN加速下载链接两种模式
- 自定义文件前缀:可以在附件前增加自定义前缀(因腾讯云鉴权签名限制,暂不支持中文自定义前缀)
- 无缝升级体验:安装插件后,论坛原有的附件将按原方式获取下载
- *删除本地文件:支持上传附件后删除保留在upload/attach本地的附件,节约网站空间(强烈不推荐开启这个功能)
使用方法
1.新增hook点(重要)
(1)model/attach.func.php
打开网站根目录下的model文件夹,编辑attach.func.php文件,在大概234行到235行间插入以下代码:
// hook attach_assoc_post_middle.php
如下图:
(2)route/attach.php
打开网站根目录下的route文件夹,编辑attach.php文件,在大概109行到110行间插入以下代码:
// hook attach_delete_middle.php
如下图:
2.安装插件
将插件上传并解压至plugin文件夹,插件文件夹命名为xn_attach_cos
3.配置腾讯云COS与腾讯云CDN
具体流程这边不写了,如果没有使用腾讯云COS和腾讯云CDN经验的不建议使用,需要使用私有存储桶,建议配置腾讯云CDN并且完善相关安全配置(流量封顶、QPS限制、防盗链等)
存储桶源链接与CDN加速链接仅需配置一项,其中CDN必须配置鉴权相关的信息
4.设置插件
将腾讯云的相关信息填写到后台插件设置中,后台如下图所示
*5.(可选)删除本地附件(强烈不推荐使用)
如果有需要开启附件上传cos后删除本地存储的附件,需要注释(删除)route/attach.php下的第133行附近的代码,如下图所示:
下载地址:
[修罗中国]腾讯云cos附件同步&链接鉴权&下载加速