diff --git a/src/features/kullanici/components/giris-karti.tsx b/src/features/kullanici/components/giris-karti.tsx index 6aa555f..7da1add 100644 --- a/src/features/kullanici/components/giris-karti.tsx +++ b/src/features/kullanici/components/giris-karti.tsx @@ -13,7 +13,10 @@ export async function GirisKarti({ callback?: string; hata?: string; }) { - const callbackURL = callback && callback.startsWith("/") ? callback : "/"; + // Yalnız site içi yol: "//evil.com" ve "/\\evil.com" protokol-göreli adres + // sayılır, açık yönlendirmeye izin verme (dogrula-karti.tsx ile aynı kalkan). + const callbackURL = + callback && /^\/(?![/\\])/.test(callback) ? callback : "/"; // Magic link doğrulaması başarısız olunca errorCallbackURL buraya düşürür // (bkz. giris-form.tsx ve /giris/dogrula) — ham INVALID_TOKEN yerine // dostça bir mesaj gösterip yeni bağlantı istemeye yönlendiriyoruz.