Herkese iyi forumlar.
Python dilinde bir yazılım geliştirdim ve bu yazılıma eklemek istediğim bir özellik var. Kullanıcı doğrulaması ve aktivasyon anahtarı özellikleri. Tasvir etmeye çalışayım;
100’er adet BasicID, BasicKEY, GoldID, GoldKEY, PremiumID, PremiumKEY üretip veritabanında saklıyorum. Basit bir örnek;
Basıc DB
BasicUser Table
BasicID-------------BasicKEY
123456-------------A1B2C3D4E5F6G7H8
654321-------------A8B2C5D4E0F4G7H9
. . .
. . .
. . .
Şu an aklımdaki işlemler şu şekilde; kullanıcı benim verdiğim ID ve KEY ile uygulamaya giriş yapacak ve örneğin bu key 10 gün geçerli olacak.
Problem 1: Süre dolduğunda uygulama çalışmayı nasıl durduracak ve kullanıcı anahtarı yenilemek istediğinde bunu BasicID sabit kalmak şartıyla nasıl yenileyeceğim?
Aklımdaki çözüm yöntemi şu şekilde;
Aktivasyonun yapıldığı gün tarih bilgisini sistemden değil uzak sunucudan alıp ilgili kullanıcının tablosuna kayıt olarak ekleyeyim. Ardından uygulama her çalıştığında bu kaydı veritabanından çeksin ve yine sunucudan aldığı o günün tarihi ile karşılaştırsın. Eğer fark örnekte olduğu gibi 10 güne eşit ise çalışmayı sonlandırsın.
BasicID-------------BasicKEY-----------------------Aktivasyon
123456-------------A1B2C3D4E5F6G7H8---------01.01.2020
654321-------------A8B2C5D4E0F4G7H9---------12.02.2020
. . .
. . .
. . .
Problem 2: Uygulama içinde veritabanı bağlantısı için okuma ve yazma yetkileri olacak. Bu durum uygulama için güvenlik riski teşkil eder mi?
Konu kabaca bu şekilde. Bu konuda Türkçe kaynak basit bir iki örnek dışında neredeyse yok. Gördüğünüz hatalarım konusunda kıymetli uyarılarınızı veya bu aktivasyon konusunu teorik olarak anlatmanızı rica ediyorum. Kod yazmasanız bile yazılımda yapılması gereken adımları anlatmanız çok makbule geçer. Ancak anlaşılırlık ve diğer arkadaşlara da faydalı olması açısından kod örnekleri ile de desteklemek isterseniz çok faydalı olur.
Teşekkürler, saygılar.
Python dilinde bir yazılım geliştirdim ve bu yazılıma eklemek istediğim bir özellik var. Kullanıcı doğrulaması ve aktivasyon anahtarı özellikleri. Tasvir etmeye çalışayım;
100’er adet BasicID, BasicKEY, GoldID, GoldKEY, PremiumID, PremiumKEY üretip veritabanında saklıyorum. Basit bir örnek;
Basıc DB
BasicUser Table
BasicID-------------BasicKEY
123456-------------A1B2C3D4E5F6G7H8
654321-------------A8B2C5D4E0F4G7H9
. . .
. . .
. . .
Şu an aklımdaki işlemler şu şekilde; kullanıcı benim verdiğim ID ve KEY ile uygulamaya giriş yapacak ve örneğin bu key 10 gün geçerli olacak.
Problem 1: Süre dolduğunda uygulama çalışmayı nasıl durduracak ve kullanıcı anahtarı yenilemek istediğinde bunu BasicID sabit kalmak şartıyla nasıl yenileyeceğim?
Aklımdaki çözüm yöntemi şu şekilde;
Aktivasyonun yapıldığı gün tarih bilgisini sistemden değil uzak sunucudan alıp ilgili kullanıcının tablosuna kayıt olarak ekleyeyim. Ardından uygulama her çalıştığında bu kaydı veritabanından çeksin ve yine sunucudan aldığı o günün tarihi ile karşılaştırsın. Eğer fark örnekte olduğu gibi 10 güne eşit ise çalışmayı sonlandırsın.
BasicID-------------BasicKEY-----------------------Aktivasyon
123456-------------A1B2C3D4E5F6G7H8---------01.01.2020
654321-------------A8B2C5D4E0F4G7H9---------12.02.2020
. . .
. . .
. . .
Problem 2: Uygulama içinde veritabanı bağlantısı için okuma ve yazma yetkileri olacak. Bu durum uygulama için güvenlik riski teşkil eder mi?
Konu kabaca bu şekilde. Bu konuda Türkçe kaynak basit bir iki örnek dışında neredeyse yok. Gördüğünüz hatalarım konusunda kıymetli uyarılarınızı veya bu aktivasyon konusunu teorik olarak anlatmanızı rica ediyorum. Kod yazmasanız bile yazılımda yapılması gereken adımları anlatmanız çok makbule geçer. Ancak anlaşılırlık ve diğer arkadaşlara da faydalı olması açısından kod örnekleri ile de desteklemek isterseniz çok faydalı olur.
Teşekkürler, saygılar.