pel*_*aul 2 php ajax rest wordpress wp-api
这似乎更明显.我使用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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
687 次 |
| 最近记录: |