Puan ders bitince hesaba yazılır. Bu dersi tamamlayınca +50 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.
IDOR ve bozuk erişim denetimi
Bir fatura sayfası açtın ve adres çubuğunda kendi fatura numaran duruyor. Numarayı bir azaltırsan ne olur? Uygulama oturumunu tanır, ama o kaydın sana ait olup olmadığını sorgulamayabilir.
Bu ayrım işin özüdür. Kimlik doğrulama sorusu şudur: sen kimsin? Yetkilendirme sorusu ise şudur: bu kayda erişmeye hakkın var mı? İkincisi atlandığında oturum açan herkes herkesin verisini okur.
# Zafiyetli: yalnız kimlik sorulur kayit = Fatura.query.get(fid) # Sağlam: sahiplik sorguya girer kayit = Fatura.query.filter_by(id=fid, musteri_id=current_user.id).first_or_404()
İki sürüm arasındaki fark tek bir koşulda görünür. Zafiyetli sürüm kaydı yalnız kimliğe göre çeker; oturum açan kullanıcının o kayda sahip olup olmadığını hiç sormaz. Sağlam sürümde ise sorgu iki koşulla çalışır: kimlik eşleşmeli ve kayıt isteği yapan müşteriye ait olmalı. Sahiplik denetimi ayrı bir if satırı değil, sorgunun kendi filtresidir; bu yüzden kod incelemesinde de kolayca gözden kaçmaz, tersine hemen görülür. Aşağıdaki uçta bu ikinci koşulun sorguya hiç girmediğini göreceksin.