Cors 总是返回访问控制允许凭据是否有缺点?

Cors 总是返回访问控制允许凭据是否有缺点?,cors,irule,Cors,Irule,一个奇怪的问题 我的example.com服务器中有代码,它为所有POST&GET请求返回访问控制允许源响应头,其中传递了源请求头,并且它的值为example.com子域(superman.example.com、batman.example.com等) 现在我需要能够通过cookies进行AJAX调用,因此如果请求包含cookies,我需要能够返回访问控制允许凭据响应头 如果我看到Cookie请求头,我可以添加一个额外的检查来返回Access Control Allow Credentials

一个奇怪的问题

我的example.com服务器中有代码,它为所有POST&GET请求返回访问控制允许源响应头,其中传递了源请求头,并且它的值为example.com子域(superman.example.com、batman.example.com等)

现在我需要能够通过cookies进行AJAX调用,因此如果请求包含cookies,我需要能够返回访问控制允许凭据响应头

如果我看到Cookie请求头,我可以添加一个额外的检查来返回Access Control Allow Credentials response header,但为了简单起见,我想知道始终为来自我的子域的所有GET/POST请求返回Access Control Allow Credentials response header是否有任何缺点,其中指定了原始请求标头

这是我的代码(它是一个Tcl病毒,FWIW):


我知道,如果我返回Access Control Allow Credentials响应头,我必须指定一个命名(非通用)Access Control Allow Origin头(可能有不同的头问题),但还有什么我需要知道的吗?

即使在我添加了赏金之后,也没有人回答这个问题:(我假设没有负面影响,但如果将来有人阅读此问题并有不同的理解,请添加评论。)
when HTTP_REQUEST priority 200 {
    if { ( [HTTP::method] equals "OPTIONS" ) and
         ( [HTTP::host] ends_with "example.com"] ) and
         ( [HTTP::header exists "Access-Control-Request-Method"]) } {
        HTTP::respond 200 "Access-Control-Allow-Origin" [HTTP::header "Origin"] \
                          "Access-Control-Allow-Methods" "POST, GET, OPTIONS" \
                          "Access-Control-Allow-Headers" [HTTP::header "Access-Control-Request-Headers"] \
                          "Access-Control-Max-Age" "86400"       
    } elseif { ( [HTTP::host] ends_with "example.com"] ) and
               ( [HTTP::header exists "Origin"]) } {
        # CORS GET/POST requests - set cors_origin variable
        set cors_origin [HTTP::header "Origin"]
    }
}
when HTTP_RESPONSE {
    # CORS GET/POST response - check cors_origin variable set in request
    if { [info exists cors_origin] } {
        HTTP::header insert "Access-Control-Allow-Origin" $cors_origin
        HTTP::header insert "Access-Control-Allow-Credentials" "true"
    }
}