İçeriğe geç

İzin verici CORS (ARCH7121)

Anahtar php.security.permissive-cors · Önem warning · Kategori security · CWE CWE-942

Access-Control-Allow-Origin: * ile yapılandırılmış CORS, herhangi bir sitenin API’ye istek atmasına izin verir; kimlik bilgileriyle birleştiğinde tarayıcı tarafından zaten reddedilir ama yansıtılmış köken kullanımı kötüye açıktır. Kökenler izin listesiyle doğrulanmalıdır.

<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Credentials: true');
<?php
$allowed = ['https://app.example.com', 'https://admin.example.com'];
$origin = $_SERVER['HTTP_ORIGIN'] ?? '';
if (in_array($origin, $allowed, true)) {
header('Access-Control-Allow-Origin: ' . $origin);
header('Access-Control-Allow-Credentials: true');
}

Joker köken yerine isteğin kökenini bir izin listesine göre doğrulayın ve yalnızca eşleşen kökeni yansıtın.