Несколько заголовков CORS Access-Control-Allow-Origin в Wordpress functions.php - PullRequest
0 голосов
/ 23 января 2019

Я хотел бы разрешить множественное (два, более конкретно) происхождение, используя Wordpress 'functions.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;
   } );
}

Как мне его изменить?

1 Ответ

0 голосов
/ 23 января 2019

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

<origin>
Указывает источник.Можно указать только один источник.

Так что вам нужно будет сделать это динамическим и вывести источник, соответствующий фактическому запросу.

Вы найдете эту информацию в Origin заголовок запроса.Но убедитесь, что он находится в «списке» тех, которые вы хотите разрешить в первую очередь (in_array может легко использоваться для такой проверки) - в противном случае, если вы просто ответите содержимым заголовка Origin обратно как этот пунктесли вы не отметите галочку, вы фактически откроете это до каждого источника.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...