Closed mdisec closed 8 years ago
Ben problemin devam ettiğini düşünmekteyim.
Reproduce adımları:
1 - Eğitmen oturum açar. 2 - https://kayit.linux.org.tr/egitim/controlpanel adresine girer. 3 - Herhangi bir kursiyer için tablo üzerinden "Detay" linkine tıklar. 4 - Aşağıya doğru genişleyen menüde "Profil Detayı" linkine tıklar. 5 - Bu sayede şu URL'e yönlenmiş olacaktır ( https://kayit.linux.org.tr/accounts/showuser/3556/17844 ) 6 - showuser methodunun ilk parametresi user id'i temsil etmektedir - emin değilim ? - 7 - Bu parametre değiştirilere farklı kursiyerlere erişim yapılır.
Örneğin;
https://kayit.linux.org.tr/accounts/showuser/3561/17844
Bu kursiyerin tercihleri;
Benim ise eğitmeni olduğum sınıf; Ağ ve Sızma Testleri Web Uygulama Güvenliği (kayit sistemi üzerinde bu eğitim için yetkim verilmemiş olabilir, emin değilim)
Sanırım problemin kaynaklandığı nokta şurası;
https://github.com/akademikbilisim/ab-kurs-kayit/blob/master/abkayit/userprofile/views.py#L444
Erişilmek istenin kullanıcı ile oturum sahibi eğitmenin ait olduğu kurs arasında kontrol gerçekleştirilmesi unutulmuş.
user = UserProfile.objects.get(pk=userid)
Olayında devamında POST talebi varsa güncelleştirmeler yapılmakta, ki biz GET talebi gönderiyoruz, bu sayede doğrudan id'si bilinen bir kursiyerin bilgilerine erişim yapılabiliyor.
Projeye pek hakim olamadığım için PR maalesef göndermem fazla zaman alacaktır, çözüm olarak sanırım kontrolü bu noktada yapmak yeterlidir.
@mmetince sorunu sonradan anladım. şimdi düzelmiş olması lazım tekrar deneyebilir misin?
bu hata çözülmüş görünüyor o sebeple kapatıyorum
Merhaba,
Oturum sağlamış bir eğitmen, başka kurslara başvuru gerçekleştirmiş kursiyerlerin bilgilerini görebilmekte.
AŞağıdaki URL'de birinci integer alan user id'ye tekabül etmekte. Doğrudan çağırım ile detay bilgiler görünüyor.
https://kayit.linux.org.tr/accounts/showuser/4504/1337 https://kayit.linux.org.tr/accounts/showuser/4505/1337 https://kayit.linux.org.tr/accounts/showuser/4506/1337