Wordpress 函数中的多个访问控制允许源 CORS 标头.php



我想允许使用Wordpress函数的多个(两个,更具体地说)源.php而不是使用apache/nginx指令。目前我有这个:

function my_customized_rest_cors() {
   remove_filter( 'rest_pre_serve_request', 'rest_send_cors_headers' );
   add_filter( 'rest_pre_serve_request', function( $value ) {
           header( 'Access-Control-Allow-Origin: https://my.1stsite.com' );
           header( 'Access-Control-Allow-Methods: GET,POST,OPTIONS' );
           header( 'Access-Control-Allow-Credentials: true' );
           header( 'Access-Control-Expose-Headers: Link', false );
           header( 'Access-Control-Allow-Headers: X-Requested-With, Authorization, Content-Type' );
           header( 'Vary: Origin' );
           return $value;
   } );
}

我应该如何修改它?

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin:


<origin> 指定原点。只能指定一个源。

因此,您需要对此进行动态处理,并输出与实际请求匹配的源。

您可以在Origin请求标头中找到该信息。但是要确保它首先在您想要允许的"列表"上(in_array可以很容易地用于此类检查) - 否则,如果您只是将Origin标头的内容响应为未选中的这一点,您实际上会将其打开到每个来源。

相关内容

最新更新