fix: 全面修复和优化 OSS 功能
## 安全修复 - 修复 /api/user/profile 接口泄露 OSS 密钥的安全漏洞 - 增强 getObjectKey 路径安全检查(空字节注入、URL 编码绕过) - 修复 storage.end() 重复调用问题 - 增强上传签名接口的安全检查 ## Bug 修复 - 修复 rename 使用错误的 PutObjectCommand,改为 CopyObjectCommand - 修复 CopySource 编码问题,正确处理特殊字符 - 修复签名 URL 生成功能(添加 @aws-sdk/s3-request-presigner) - 修复 S3Client 配置(阿里云 region 格式、endpoint 处理) - 修复分页删除和列表功能(超过 1000 文件的处理) - 修复分享下载使用错误的存储类型字段 - 修复前端媒体预览异步处理错误 - 修复 OSS 直传 objectKey 格式不一致问题 - 修复包名错误 @aws-sdk/request-presigner -> @aws-sdk/s3-request-presigner - 修复前端下载错误处理不完善 ## 新增功能 - 添加 OSS 连接测试 API (/api/user/test-oss) - 添加重命名失败回滚机制 - 添加 OSS 配置前端验证 ## 其他改进 - 更新 install.sh 仓库地址为 git.workyai.cn - 添加 crypto 模块导入 - 修复代码格式和重复定义问题 - 添加缺失的表单对象定义 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
22
install.sh
22
install.sh
@@ -2,7 +2,7 @@
|
||||
|
||||
################################################################################
|
||||
# 玩玩云 (WanWanYun) - 一键部署/卸载/更新脚本
|
||||
# 项目地址: https://gitee.com/yu-yon/vue-driven-cloud-storage
|
||||
# 项目地址: https://git.workyai.cn/237899745/vue-driven-cloud-storage
|
||||
# 版本: v1.2.0
|
||||
################################################################################
|
||||
|
||||
@@ -33,7 +33,7 @@ NC='\033[0m' # No Color
|
||||
# 全局变量
|
||||
PROJECT_NAME="wanwanyun"
|
||||
PROJECT_DIR="/var/www/${PROJECT_NAME}"
|
||||
REPO_URL="https://gitee.com/yu-yon/vue-driven-cloud-storage.git"
|
||||
REPO_URL="https://git.workyai.cn/237899745/vue-driven-cloud-storage.git"
|
||||
NODE_VERSION="20"
|
||||
ADMIN_USERNAME=""
|
||||
ADMIN_PASSWORD=""
|
||||
@@ -212,7 +212,7 @@ system_check() {
|
||||
fi
|
||||
|
||||
# 检测网络
|
||||
if ping -c 1 gitee.com &> /dev/null; then
|
||||
if ping -c 1 git.workyai.cn &> /dev/null; then
|
||||
print_success "网络连接正常"
|
||||
else
|
||||
print_error "无法连接到网络"
|
||||
@@ -1998,7 +1998,7 @@ create_project_directory() {
|
||||
}
|
||||
|
||||
download_project() {
|
||||
print_step "正在从Gitee下载项目..."
|
||||
print_step "正在从仓库下载项目..."
|
||||
|
||||
cd /tmp
|
||||
if [[ -d "${PROJECT_NAME}" ]]; then
|
||||
@@ -3407,7 +3407,7 @@ confirm_update() {
|
||||
echo "本脚本将执行以下操作:"
|
||||
echo ""
|
||||
echo "【将要更新】"
|
||||
echo " ✓ 从Gitee拉取最新代码"
|
||||
echo " ✓ 从仓库拉取最新代码"
|
||||
echo " ✓ 更新后端依赖(npm install)"
|
||||
echo " ✓ 重启后端服务"
|
||||
echo ""
|
||||
@@ -3489,7 +3489,7 @@ update_stop_services() {
|
||||
}
|
||||
|
||||
update_pull_latest_code() {
|
||||
print_step "正在从Gitee拉取最新代码..."
|
||||
print_step "正在从仓库拉取最新代码..."
|
||||
|
||||
cd /tmp
|
||||
if [[ -d "${PROJECT_NAME}-update" ]]; then
|
||||
@@ -4035,11 +4035,11 @@ main() {
|
||||
print_warning "如需其他操作,请下载脚本后运行"
|
||||
echo ""
|
||||
echo -e "${YELLOW}提示:${NC}"
|
||||
echo " 安装: wget https://gitee.com/yu-yon/vue-driven-cloud-storage/raw/master/install.sh && bash install.sh"
|
||||
echo " 更新: wget https://gitee.com/yu-yon/vue-driven-cloud-storage/raw/master/install.sh && bash install.sh --update"
|
||||
echo " 修复: wget https://gitee.com/yu-yon/vue-driven-cloud-storage/raw/master/install.sh && bash install.sh --repair"
|
||||
echo " SSL管理: wget https://gitee.com/yu-yon/vue-driven-cloud-storage/raw/master/install.sh && bash install.sh --ssl"
|
||||
echo " 卸载: wget https://gitee.com/yu-yon/vue-driven-cloud-storage/raw/master/install.sh && bash install.sh --uninstall"
|
||||
echo " 安装: wget https://git.workyai.cn/237899745/vue-driven-cloud-storage/raw/master/install.sh && bash install.sh"
|
||||
echo " 更新: wget https://git.workyai.cn/237899745/vue-driven-cloud-storage/raw/master/install.sh && bash install.sh --update"
|
||||
echo " 修复: wget https://git.workyai.cn/237899745/vue-driven-cloud-storage/raw/master/install.sh && bash install.sh --repair"
|
||||
echo " SSL管理: wget https://git.workyai.cn/237899745/vue-driven-cloud-storage/raw/master/install.sh && bash install.sh --ssl"
|
||||
echo " 卸载: wget https://git.workyai.cn/237899745/vue-driven-cloud-storage/raw/master/install.sh && bash install.sh --uninstall"
|
||||
echo ""
|
||||
sleep 2
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user