Bu konudaki kullanıcılar: 2 misafir, 2 mobil kullanıcı
8
Cevap
0
Tıklama
0
Öne Çıkarma
Mvc yetkisiz işleme karşı ölem

H Hobar Konu Sahibi
geçen yıl (10471 mesaj)
Not kaydedilen bir mvc projesi olduğunu varsayalım. Bir kullanıcın öğreyi denetle diyerek veya url değiştirererk kendine ait olmayıp görmemesi veya değiştirmemesi gereken şeylere karşı önlem almak istiyorum.

Örn: Note/Edit/55 adresine gidildiğinde o notu oluşturan kullanıcı not kendine ait olmasa da görüp, silip, değiştirebiliyor.

Önlem olarak if(Session.Currentuserid == note.userid) ise işleme devam et şeklinde kodlar akla geliyor. Ancak bu şekilde her action da böyle önlem almak gerekiyor. Bu tip şeylere karşı daha spesifik bir çözüm olup olmadığını merak ettim.





< Bu mesaj bu kişi tarafından değiştirildi Hobar -- 10 Mayıs 2020; 2:59:34 >


A alimmm78
geçen yıl (10829 mesaj)
Auth yok mu
Yabanci Note/Edit/55 bu adrese nasıl giriyor

Nodejste middleware gibi bir şey var , araya auth için koyulabiliyor sanırım
Dotnet te de Böyle bir şey yapılabilir





< Bu mesaj bu kişi tarafından değiştirildi alimmm78 -- 9 Mayıs 2020; 5:3:14 >
Bu mesaja 1 cevap geldi.

H Hobar Konu Sahibi
geçen yıl (10471 mesaj)
Auth var o action ı sadece üyeler görebiliyor. Ama bu şekilde bir üye başka bir üyenin mesajına ait id yazdığında onu da görüyor.




Bu mesajda bahsedilenler: @alimmm78

O ontedi
geçen yıl (28 mesaj)
SQL sorgunda

SELECT * FROM Notlar Where id = DegiskenNotID

yerine

SELECT * FROM Notlar Where id = DegiskenNotID and kullaniciid = DegiskenKullaniciID

şeklinde yazarsan ulaşamaz.




D Delifisek.Tux
geçen yıl (2450 mesaj)
Rol tabanlı yapabilirsin.

Önce adresileri db ye kayıt et.

Sonra rolleri kayıt et

sonra rollere tek tek erişim yetkisi ver.

sonra kullanıcıları rollere bağla.

Sonrada her controllere içindeki adreslere erişim için kontrol sistemi kur.


Bu mesaja 1 cevap geldi.

H Hobar Konu Sahibi
geçen yıl (10471 mesaj)
Rol de sorun yok. Admin in görmesi gereken sayfayı admin görüyor. User ın görmesi gereken sayfayı da User görüyor. Ama bir User başka User ın verisini görüyor.





< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Delifisek.Tux

L lament
geçen yıl (122 mesaj)
Bir tane basecontroller yapip , sonra kontrol yapmak istedigin sayfalari yani controller lari bu basceontrollerden turet. Basecronteller icerisinde istedigin kontroli yapabilirsin. Boylece bu sayfadan tureyen butun sayfalarda bu islem gecerli olmus olur. Ayrica sessin kullanmaktansa claimleri bir arastirmani oneririm.





< Bu ileti mobil sürüm kullanılarak atıldı >


D Delifisek.Tux
geçen yıl (2450 mesaj)
Üstte yazılmış zaten SQL değiştirip, her satıra bir sahip id si koyacaksın. Başka türlü zor. hatta olmaz. Sen aynı tabloyu bir den fazla kullanıcıya paylaştıracaksan ve bunların ayrışmasını istiyorsan o tabloya veri sahibi bilgisini koyacaksın. Yada her kullanıcıya ayrı tablo ve veya ayrı database yaratman gerekiyor :)


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Hobar

H Hobar Konu Sahibi
geçen yıl (10471 mesaj)
Kafamdan ürettiğim çözüm oydu zaten. Bir mesajı çekerken if(o user == current user) diye. Daha bilinen oturmuş bie çözüm var mı diye merak ettim.




Bu mesajda bahsedilenler: @Delifisek.Tux
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.