rundreamsFly 2023-11-03 10:21 采纳率: 75%
浏览 119
已结题

中间件minio crossdomain.xml修改

问题描述

  • mino 该文件怎么修改或者删除 crossdomain.xml

img

安全扫描

  • 安全部门认为这是不安全的,所以要处理

img

已尝试

  • 有接触过minio或者修改过该问题的麻烦指教指教

img

  • 写回答

8条回答 默认 最新

  • x10n9 2023-11-03 11:11
    关注

    crossdomain.xml 这个配置在源码里面,定义为一个常量,你要修改源码重新编译才行了
    源文件路径:minio/cmd/crossdomain-xml-handler.go

    
    package cmd
    
    import "net/http"
    
    // Standard cross domain policy information located at https://s3.amazonaws.com/crossdomain.xml
    const crossDomainXML = `<?xml version="1.0"?><!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"><cross-domain-policy><allow-access-from domain="*" secure="false" /></cross-doma
    in-policy>`
    
    // Standard path where an app would find cross domain policy information.
    const crossDomainXMLEntity = "/crossdomain.xml"
    
    // A cross-domain policy file is an XML document that grants a web client, such as Adobe Flash Player
    // or Adobe Acrobat (though not necessarily limited to these), permission to handle data across domains.
    // When clients request content hosted on a particular source domain and that content make requests
    // directed towards a domain other than its own, the remote domain needs to host a cross-domain
    // policy file that grants access to the source domain, allowing the client to continue the transaction.
    func setCrossDomainPolicyMiddleware(h http.Handler) http.Handler {
            return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
                    // Look for 'crossdomain.xml' in the incoming request.
                    if r.URL.Path == crossDomainXMLEntity {
                            // Write the standard cross domain policy xml.
                            w.Write([]byte(crossDomainXML))
                            // Request completed, no need to serve to other handlers.
                            return
                    }
                    h.ServeHTTP(w, r)
            })
    }
    

    处理步骤:
    下载源码:
    安装go
    修改crossdomain-xml-handler.go里面的配置,如q*.qq.com

    在根目录编译:
    make
    将生成minio执行文件

    重构镜像,替换镜像中的minio执行文件
    编写:Dockerfile

    FROM minio/minio:latest
    COPY ./minio /usr/bin/minio
    
    

    docker build -t minio:latest2 .
    构建生成新的镜像
    使用新的镜像启动测试:

    img

    domain已显示为*.qq.com"

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(7条)

报告相同问题?

问题事件

  • 系统已结题 11月11日
  • 已采纳回答 11月3日
  • 创建了问题 11月3日

悬赏问题

  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程