簡體   English   中英

WordPress WP REST API按域限制請求

[英]WordPress WP REST API limiting requests by domain

這似乎更明顯。 我使用WordPress來管理外部網站的內容。 WordPress內容通過WP REST API顯示,我將帶有ajax和JS的內容顯示到此遠程站點。 (例如https://example.com//wp-json/wp/v2/pages/23 )。 一切都在SSL上,一切都很好。 我怎樣才能簡單地做到這一點,這個ajax GET請求只允許來自某個域 - 遠程站點? WP API僅用於顯示數據。

我剛看了一下php服務器變量並搞清楚了。 $ _SERVER [ 'HTTP_ORIGIN']; 是我抓住的那個。 奇跡般有效!

add_filter( 'rest_authentication_errors', 'gc_filter_incoming_connections' );

function gc_filter_incoming_connections( $errors ){

    $allowed_origins = array('https://www.example.com'); // url that you want to access your WP REST API
    $request_origin = $_SERVER['HTTP_ORIGIN'];

    if( ! in_array( $request_origin, $allowed_origins ) )
        return new WP_Error( 'forbidden_access', 'Access denied', array( 'status' => 403 ) );

    return $errors;

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM