Tablo Güvenliği Hakkında

16/11/2024, 17:55

notrino

Aslında bu bir soru değil, bir serzeniş.

Ofis 2007-2010 sürümünden beri Access ile şöyle böyle uğraşıyorum. Artık 2021 Pro Plus kullanıyorum ve bakıyorum ki tablo güvenliğinde Microsoft bir arpa boyu yol almamış. Nasıl ki uygulamayı mde olarak kaydettiğimizde Vba kodlar gizleniyor, form tasarımına imkan sunulmuyor da; yine mde olarak kaydettiğimde tabloları "görünmez" yapabilmek çok mu zor Microsoft için? Bu kadar basit bir çözümle Access güvenliği üst seviyeye çıkmaz mı bir anda? Benim gibi basit bir kullanıcı mı düşünebiliyor bu detayı sadece, çok ilginç yani...
16/11/2024, 18:51

atoykan

Backendinizi şifrelerseniz şifreyi bilmeyen kimse açamaz, navigation pane'i gizlerseniz ve açılmasını engelleyecek kod yazarsanız yine açılmaz. Yine keza "MSysObjects" tablosundaki özellikleri kullanabilirsiniz ve örneğin ~HiddenTable1 gibi özel bir önekle adlandırdığınız tablolarınızı sistem nesnesi olarak işaretleyip
Dim tbl As TableDef
For Each tbl In CurrentDb.TableDefs
    If tbl.Name Like "HiddenTable*" Then
        tbl.Attributes = dbHiddenObject
    End If
Next tbl
gibi bir kodla tabloları gizleyebilirsiniz ve böylece tablo doğrudan gezinti bölmesinde görünmez hale gelir. Kullanıcılara Seçenekler > Gezinti Seçenekleri altında sistem tablolarını görüntüleme izni verilmemişse, tablonuz erişilemez olur.

Hiçbir veritabanında tablo gizleme diye doğrudan bir özellik yoktur. Ancak farklı mekanizmalar ve yöntemlerle tablolara erişimi sınırlandırmak veya kullanıcılar için gizli hale getirmek mümkündür. Bu tür yöntemler genellikle erişim kontrolü, görünüm yönetimi veya metadata seviyesinde değişikliklerle sağlanır.
19/11/2024, 12:42

notrino

Teşekkürler. Dedikleriniz doğru. İşte hep biz takla atmak durumunda kalıyoruz nedense. Nasıl ki *.mde olarak kaydedilen dosyalarda Vba kodlar "invisible" olabiliyorsa ön uç dosyasındaki tablo simgelerini "invisible" etmek de zor olmasa gerek. Sadece *.mde olarak kaydedilen uygulamalar için bunu yapabilir Microsoft. Dediğiniz yöntemlerin hepsi bilinçli kullanıcı tarafından "disable" edilebilecek şeyler. Ama *.mde kaydedilen bir uygulamada Microsoft kendisi tabloları "invisible" yapsa kimse müdahale edemez ne güzel...