商品图片和付费附件具有不同访问需求。文件安全需要同时考虑上传校验、存储位置和下载授权,不能仅靠不公开文件地址保护内容。
按照用途划分访问规则
商品封面可作为公开资源,合同、用户附件和交付源码应限制访问。为每类文件定义可上传角色、可访问对象、保存时间和删除方式。业务记录保存文件标识,避免把长期访问密钥写入数据库字段。
在服务端核对上传内容
限制大小、类型和文件数量,校验实际内容与声明类型是否匹配。保存时使用受控文件名,禁止任意路径写入。对无法安全直接展示的文件,按下载方式处理,避免在站点同源中执行不可信内容。
下载时重新验证业务权限
私有文件访问应验证当前用户、资源归属和权益状态,再按需要提供短时有效下载方式。订单退款、账号停用或文件撤回后应及时调整访问资格。地址复杂度不能代替授权。
处理清理与备份关系
未完成上传、无引用附件和被替换文件需要按规则清理。删除前确认仍被哪些业务记录使用,避免误删共享资源。备份与恢复时同时核对数据库引用和存储对象,确保恢复后仍满足原有权限。
