İçeriğe geç

Açık yönlendirme (ARCH7122)

Anahtar php.security.open-redirect · Önem warning · Kategori security · CWE CWE-601

Yönlendirme hedefini kullanıcı girdisinden doğrulamadan almak, saldırganların güvenilir alan adı üzerinden kullanıcıları kötü amaçlı sitelere yönlendirmesine olanak tanır. Hedef bir izin listesine veya yalnızca site içi yollara kısıtlanmalıdır.

<?php
$next = $_GET['next'];
header('Location: ' . $next);
exit;
<?php
$next = $_GET['next'] ?? '/';
// Yalnızca site içi göreli yollara izin ver
if (!preg_match('#^/[a-zA-Z0-9/_-]*$#', $next)) {
$next = '/';
}
header('Location: ' . $next);
exit;

Yönlendirme hedefini bir izin listesine göre doğrulayın veya yalnızca site içi göreli yollara kısıtlayın.