【发布时间】:2021-11-24 09:42:48
【问题描述】:
最近我为客户做了一个网站。收到后,客户端将站点发送给 acunetix 安全检查,结果返回此警报。
----acunetix 警报--- `访问控制允许来源:https://www.example.com 访问控制允许凭据:true
接受任何来源(任意 Origin 标头值反映在 Access-Control- Allow-Origin 响应标头)。对于 WordPress /wp-json/ 端点,这可能是
预期的行为,需要人工审核。如需更多信息,请 请参阅下面“参考”部分中链接的 WordPress REST API 手册。` --- acunetix 警报结束 ---
我终于找到了它的位置——在rest-api.php中
function rest_send_cors_headers( $value ) {
$origin = get_http_origin();
if ( $origin ) {
// Requests from file:// and data: URLs send "Origin: null".
if ( 'null' !== $origin ) {
$origin = esc_url_raw( $origin );
}
header( 'Access-Control-Allow-Origin: ' . $origin );
header( 'Access-Control-Allow-Methods: OPTIONS, GET, POST, PUT, PATCH, DELETE' );
header( 'Access-Control-Allow-Credentials: true' );
header( 'Vary: Origin', false );
} elseif ( ! headers_sent() && 'GET' === $_SERVER['REQUEST_METHOD'] && ! is_user_logged_in() ) {
header( 'Vary: Origin', false );
}
return $value;
}
谁能告诉我在这种情况下我该怎么办?我该如何解决,或者我应该让它成为 wordpress 的做法。 非常感谢您。
【问题讨论】: