Sistemim hakkında fikirlerinize ihtiyacım var

Dostlar merhaba.

Sistemden kısaca bahsedeyim. Bir kayıt programı olacak ve 50 tane bilgisayarda ve telefonda kullanılacak. Kullanıcı adı ve şifre ile giriş yapılacak. Kullanıcı adını ve şifreyi SHA 256 ile şifrelemeyi düşünüyorum. Kayıt olarak, tahminimce en fazla 10 bin veri (sadece string, int ve bool) kaydedilecek.

Tıkandığım kısım ise şu. Şimdi benim aklımda 2 şey var:

  • Config dosyasına kullanıcı bilgilerini girerek bir daha giriş istememek

  • Kullanıcı adı ve şifreyle giriş yapılması

Config dosyasında direktmen kişinin installerde girdiği bilgiler yazacak ve veritabanında ona göre table oluşacak, fakat Config dosyası değiştirilirse, diğer kullanıcıların bilgilerine erişilebilir, bundan korkuyorum. Kullanıcı adı ve şfire sistemini seçersem, kullanıcı adı ve şifre bilgilerini çaldırırım diye korkuyorum.

Ayrıca kişinin bilgileri, hem mobilden hem de bilgisayardan eşleştireceğim. Yani veriler merkezi bir yerde tutulmalı.

Bir sorum daha var. Bir kullanıcıya ait bilgileri, yeni table oluşturarak mı, yoksa mevcut bir tabloya, verinin sahibini belirtecek şekilde index mi girmeliyim?

kimeait: username

Verileri çekersem, kişinin usernamesine göre tüm verileri çekeceğim. Ama bu işlemi biraz geciktirebilir. Bununla da ilgili bir fikre ihtiyacım var.

Son zamanlarda çok soru sorduysam, özür dilerim. Veritabanı olarak MySQL seçtim bu arada.

Ne yapmalıyım ve nasıl bir yol izlemeliyim? Yardımcı olur musunuz?

1 Beğeni

@sonsuz , @aib , @Gok_Mavisi_Anka , @reo hocalarım fikirlerinizi belirtir misiniz?

Belirtiyordum fakat onun yerine insanlari “konuyu okuyun” diye taglemenin ne kadar ayip bir davranis oldugunu soylemeye karar verdim. Yapma.

4 Beğeni

Bilgilisiniz diye etiketlemiştim. Özür dilerim.

2 Beğeni

Ben ayıp bir davranış olduğunu düşünmüyorum. Özellikle belli kişilerin dikkatini çekmek ve yorumlarını almak için tek seferliğine etiketlemiş. Ayıplanacak ne var bunda? Üstüne üstlük üslubunda da bir problem yok. Yani, “konuyu en kısa sürede okuyun ve yorum yapın, hadi bakalım, bekliyorum” tadında bir şey de yazmamış. Gereksiz bir yorum yapmışsınız.

2 Beğeni

Nasıl olmaz ki, bu forumdaki en bilgili insanlar sadece aib falan mı? Burada bilmem kaç bin kişi falan vardır değil mi? Bı de bu arada zaten bu insanlar postu görüyorlardir illaki, if(müsaitse and isterse) cevap verir, else cevap vermez.

Yanlış anlaşılmasın kimseyi kinamiyorum. Sadece kendimce düşüncemi belirttim. Capito…?.. :wink:

2 Beğeni

Tüm forum üyelerini etiketlemesi pek mümkün değil. Ayıp bir şey yok.

1 Beğeni

Daha önce malesef bu tür şeylerle pek ilgilenmedim. Keşke yardımcı olabilsem.

3 Beğeni

Zaten forumda herkesin dikkatini ceken, ana baslik olarak acilmis ve yukarida duran yepyeni bir postun altina yazilmis. Kimseyi normalde gormeyecegi bir yere cagirmiyor.

Posttan 14 saat sonra yapilmis. Foruma her gun giren insanlari bile beklemiyor.

Forumda bu konuyla ilgili yardim edebilecek bir suru insan var. Onlari dahil etmemis.

(Not: Kisilerin etiketlendigi yazidan bahsediyorum, yaziyi yazan kisiden degil.)

Notifikasyon hedefi olan ve karsiliksiz olarak yardim eden kisi olarak sartlarimi belirtmem cok normal. Telefon numarama sahip kisilere “oglen 12’den once aramayin” demem gibi bir sey. Grata’nin butun uyarilarini kapatacaktim, uyarmayi daha dogru buldum.

Rica ederim. Yazdiklarimi geri getiriyorum.

5 Beğeni

Zaten bunu istemiyor musun?

Benim config dosyam kullanilirsa benim bilgilerime erisilecek, Zeynep’in config dosyasi kullanilirsa Zeynep’in bilgilerine erisilecek?

Yaygin kullanilan, pratik bir yontem.

Client programlarinin erisecegi merkezi bir server programi yazilarak yapiliyor bu.

Hangisi daha kolay geliyorsa. Dogrusu ikincisi.

Username’e bakmadan herkesin verisini gondermek de geciktirebilir.

Fikir: Olasiliklari dusunme. Yap ve olc.

Daha kotu bir secenek dusunmekte zorlaniyorum.

Veritabanini hafizada tutarak baslayabilirsin. Sonra pickle/json ile diske yazabilirsin. SQLite deneyebilirsin. Illa buyuk ve sunuculu bir veritabani gerekiyorsa Postgres var.

Sunu vurgulamam gerekiyor sanirim: Kullanicilara veritabani erisimi vermemen, kendi server-client protokolunu yazman lazim. (Bu arada illa vermek istersen, erisim ve izin modellerini incelemen lazim. MySQL’inki cok dandikti diye hatirliyorum.)

1 Beğeni

Ne alaka? Etiketlenen herkesi alim olarak algılıyor varsayımı nerden çıkıyor? Belki şahsi olarak sempati duyuyor, belki daha önce kendileriyle iletişim kurmuş, onların aktif olduğunu biliyor, onlara saygı duyuyor, o yüzden onlarını etiketlemiş?

Forumda gerçek anlamda aktif olan ve çoğu konuda bilgisi olan insanlar ortada. Konuyu açan kişi, o kişilerin bilgi seviyesinden ve/veya daha önce bu konuyla ilgili yazdıkları bir mesajdan yola çıkarak bu konuda da yardımlarının dokunabileceği varsayımında bulunmuş. Zaten konuyu açarak ve kimseyi etiketlemeyerek herkesi kapsamış oluyor. Bir sonraki mesajında belli kişileri etiketleyerek de onların ayrıca dikkat etmesini istiyor.

O kişilerin konuyu görmediğini, es geçtiğini, dikkat etmediğini düşünmüş olabilir. Ki teknik olarak geçerli olabilecek bir varsayım bu. Etiketleyerek onların dikkatini çekme ihtimalini ve onlardan etkileşim alma şansını arttırıyor. Demek ki neymiş? Hayat if else’den ibaret değilmiş. Kapiş. :wink:

Üstte yazdıklarım bu yazdıklarınızı kapsıyor.

Burada “şahsi” olarak “rahatsızlık” dile getirmekten, yardımın şartlarını öne sürmekten çok daha fazlası var. İnsanlık adına forumdaki bir işlev olan etiketleme özelliği hakkında “ahkam kesme”, buyurma var.

Beni bu şekilde etiketlemen bana göre hoş bir davranış değil, beni rahatsız ediyor. Sana yardım etmemi istiyorsan bunu bir daha yapmazsan sevinirim - bunu bir daha yapmazsan daha iyi olur.

Böyle demiyor mesajda. Biraz daha medeni olmaktan kimseye zarar gelmez. Birileri huysuzlaşıp, kibirlileşmeye başladığında, bu bir tepkiye ve savunmaya dönüşüp diğerlerinde de aynı davranışları tetikliyor. Ne gerek var? Üstteki arkadaş mesela komik olduğunu sanarak ukala bir üslup takındı. Aynı şekilde cevabını aldı. Ee, forumun olayı bu mu? Agresiflik, testosteron, maskülenlik şovu mu? Ego tatmini mi? E durum buysa inelim arenaya, gladyatörler gibi ölümüne dövüşelim. En iyi olan kazansın. Yapmayın ama yani.

Sadece bu forum özelinde değil, genel olarak forumlarda anlamsız bir huysuzluk; kasıntılık ve kibir var. Bu tür bir forum kültürü hoşuma gitmiyor, bunu dile getirdim. Konuyu daha fazla uzatmaya gerek yok, konu benim açımdan kapanmıştır.

3 Beğeni

parolaları şifrelediğin için çaldırmazsın başkası da başkasının hesabına giremez.

Yeni table oluşturmana gerek yok. users tableı içinde hepsini tutabilirsin. ada göre değil de id ye göre yaparsan daha kolay olabilir verilere ulaşımı. 50 kişiyle falan gecikme olmaz korkma.

Mysql konusuna gelirsek arayüzü neyle yazacağına göre de değiştir tabi. Veya kullanacağın sunucuya göre.

Aslında yapmak istediğin şeyi yapan bir sürü hazır ve ücretsiz script vardır diye düşünüyorum ama insan kendi yaptığı ayrı bi değerli oluyor.

2 Beğeni

Dogrudur. Istedigimiz gibi kullanilmasi icin ahkam kesiyoruz.

Telefonun birini gece saat 4’te arama islevi var, girtlagin birinin ismini avaz avaz bagirma islevi var. Yersiz kullanildiklarinda benzer tepkiler veriyoruz.

Bir seyin mumkun veya kod (kanun) dahilinde izinli olmasi ile kullaniminin dogru olmasi arasinda buyuk bir fark var.

2 Beğeni

Hocam yanlış anladınız. Şimdi mesela Ahmet programı indirdi ve config dosyasında ahmet yazıyor. Ahmet, config dosyasına girip ismi zeynep yaparsa, Zeynep’in verilerine erişecek. Yani Ahmet, istediği kişinin usernamesini yazarsa, onun verilerine erişir.

Bağlantı konusunda ise, bağlantı bilgilerini de bir şekilde şifrelemeyi ve index dosyasına öyle yazmayı düşünüyorum. Kullanıcılar işlemlerini sadece arayüz üzerinden yapacak. Buradaki sorun, herhangi birisi, programın kodlarına erişirse, o bağlantı bilgilerini görebilir. Bu da bilgilerin çalınması demek.

Bu arada, dil olarak Python, GUI olarak PyQT5 kullanacağım. İşler bittiğinde ise Py to exe yapacağım.

Bilerek yanlis anladim :slight_smile:
Config dosyasinda “Ahmet” yerine ahmet’e ozel bir (gizli) ID veya Ahmet + sifresi veya Ahmet + anahtari veya Ahmet’e son login oldugunda verilen bir session cookie yazarsa Zeynep’inkini tahmin edemez.

Bu “bir sekil” yukarida soylediklerim oluyor herhalde.

Database’e dogrudan login dusunuyor musun hala, yoksa programa ozel kendi protokolunu yazma kafana yatti mi?

1 Beğeni

Hocam sinir ettiysem kusura bakmayın ama, bu kendi protokolü yazma nedir? Yönlendirme gibi bir şey mi?

Yok, estagfirillah. Yukarida bahsetmistim. Client’in server’a nasil baglanip nasil is yaptiracagi.

1 Beğeni

Hocam şöyle bir şey yapabilir miyiz? Mesela bir dosya olsa, bu dosyanın içinde, DB bilgileri şifrelenmiş olsa, sonra index.py dosyasından şifreli bilgileri çağırsak. Bağlanma kısmında ise şifre çözünse. Nasıl olur? Mesela şöyle çağıracağım:

port = dosyaiciokuma[0]
kullaniciadi = dosyaiciokuma[1]

Gibi. Sonra ise şifre çözümlenecek.

Hocam peki sizce kullanıcı adı ve şifreyle giriş yöntemi mi, yoksa config dosyası sistemi mi daha mantıklı?

Bu sistemde kisinin kodu kullaniciadi = 'baskasi' olarak degistirip DB’ye baskasi olarak baglanmasini ne engelliyor?

Kullanici adi ve sifreyi bir “hatirla” opsiyonuyla config dosyasina da yazabilirsin.

Onemli olan Ece’nin Zeynep’in bilgilerini degistirmesini ne engelleyecek.
Ikinci sirada, Ece’nin Zeynep’in bilgilerini okumasini ne engelleyecek.

1 Beğeni