Kullanıcıların Sifreleri Degistirmesi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
secret_boy
Üye
Mesajlar: 151
Kayıt: 17 Kas 2005 04:46

Kullanıcıların Sifreleri Degistirmesi

Mesaj gönderen secret_boy »

Merhaba arkadaslar,Asıl konuya geçmeden once bende delphi/paradox soyle bir hata veriyor sebebi nedir ve nasıl halledebilirim yardımcı olurmusunuz.(alanları olusturup kaydettikten sonra cıkıyor bu uygulama)
Resim
Asıl konu su ben kullanıcı kendi istegine gore sifrelerini istedigi zaman istedigi gibi degiştirebilecegi bir sifreleme yapmak istiyorum.Asagıdaki gibi bir table olusturdum.
Resim
daha sonra asagıdaki gibi bir form olusturdum
Resim
sifre degiştirme butonuna tıklayınca gelecek olan formda bu
Resim
Bunu nasıl yapabilirim.extra olarak parola sıfırlama alanında "gizli sorunuz...:" diye bir alan var oradanda parola sıfırlamasını yaptırmak istiyorum yardımlarınız için tesekkur ederim.
siz bana diyeceksinizki once arastır ve formda bir arama yap bu konu işlendi ben arama ve arastırmamı yaptım ve bunlara en yakın su linklere rastladım

viewtopic.php?t=1137&highlight=%FEifreleme

viewtopic.php?t=1543&highlight=%FEifreleme

Ama sifrelerin veri tabanına kaydedip degiştirme olaylarını yapamadım arastırdıgım ve okudugum kadarıyla baya bi kişi bunu bilmiyor ama ogrenmek istiyor.bu ve buna benzer sifreleme konusu altında coğukez sorulmus. umarım derdimi anlatmısımdır ve derdime derman bulurum herkese cok tesekkur eder basarılarını dilerim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Merhaba...

@secret_boy yazdı:Ama sifrelerin veri tabanına kaydedip degiştirme olaylarını yapamadım arastırdıgım ve okudugum kadarıyla baya bi kişi bunu bilmiyor ama ogrenmek istiyor.bu ve buna benzer sifreleme konusu altında coğukez sorulmus.
- Şifre olarak değil, veritabanına kayıt bazında düşünürsek, söyleminiz kimse veritabanına kayıt veya okuma yapamıyor şeklinde bir anlam kazanıyor ki bu yanlış. Sizin kilitlendiğiniz yer mantık.

- Programınızı bir kaç kısma ayırmalısınız. Şifreden önceki haller ve şifre girildikten sonraki haller...

- Paradox veya başka bir veritabanı farketmez. Önce mantığı kurmalısınız...

- Kodlamada dikkatsizlik olabilir, spontan yazıyorum.

- Örneğin..
- 1.Aşama olarak kullanıcının girdiği ID ve Şifre'yi alıp veritabanında karşılaştırın ve uyuşuyorsa 2. Aşama'ya geçsin...

Kod: Tümünü seç

Var
  KullaniciID, Sifre, DBSifre : String;
begin
  // I.Asma
  KullaniciID := Edit1.Text; // Kullanıcı ID'si Edit1'e
  Sifre := Edit2.Text; // Kullanıcı sifresini Edit2'ye girdi diyelim...
  Query1.SQL.Text := 'SELECT KullaniciID, Sifre FROM Guvenlik.DB WHERE KullaniciID = '+QuotedStr(KullaniciID)+' AND DBSifre = '+QuotedStr(Sifre);
  Query1.Active := True;
  IF NOT Query1.EOF then // Kullanici adı ve Sifre geçerli 
  begin
    Query1.Active := False;
    // II.Asama
  ...
  end
  else Application.Terminate; // Şifre ve/veya KullaniciID geçersiz..
end;
2. Aşama

- Eğer ikinci aşamaya geçilmişse, kullanıcı veritabanında kayıtlı ve şifresi de doğru demektir.

- Bu aşamada şifre değişikliği istemesi durumunda zaten KullaniciID bilindiğine göre bahsettiğin işlem sadece bir veritabanı güncellemesine kalıyor...
Resim
Resim ....Resim
secret_boy
Üye
Mesajlar: 151
Kayıt: 17 Kas 2005 04:46

Mesaj gönderen secret_boy »

Merhaba
Şifre olarak değil, veritabanına kayıt bazında düşünürsek, söyleminiz kimse veritabanına kayıt veya okuma yapamıyor şeklinde bir anlam kazanıyor ki bu yanlış. Sizin kilitlendiğiniz yer mantık.
yanlıs anlasılmasın ben bunu soylemek istemedim.benim soylemek istedigim sifreleme olarak bir sifreyi veritabanı kullanarak okutup degiştimek seklinde soyledim, kimse veritabanına kayıt yaptırma ve okutmayı bilmiyor demedim.cumlelerim duzgun degil ve dusuk olabilir ama maksadım o sekilde soylemek degildir yanlıs anlasılmasın.

bana bu konuda somut bir ornek verebilirseniz daha iyi anlasılacagı kanısındayım .sifreleri tutabilecegi bir yer olsun ve sadece istendiginde sifre degiştirebilsin yeter.simdiden tesekkur ederim.iyi gunler
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Bak şimdi sana bir INI Dosya kullanarak bu işin nasıl yapıldığını örnekle anlatsam kendi veritabanına adapte edebilir misin ?
Resim
Resim ....Resim
secret_boy
Üye
Mesajlar: 151
Kayıt: 17 Kas 2005 04:46

merhaba bu ne hız inanılmaz cok tesekkurler

Mesaj gönderen secret_boy »

tekrar merhaba kusura bakmayın kimseyi ugrastırmak istemem ama ben hiç ini dosyası kullanmadım nasıl olusturulur ve neler için kullanılabilir bilmiyorum :oops: eger zahmet olmazsa biraz deginirseniz cok sevinirim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Ok. Sorun değil .. Şifre sorgulama ve değiştirme işlemlerinde aşağıdakiler başlangıç noktanız olacaktır. Siz koda dökün...

1. Aşama Şifre Giriş Ekranı
- Bu ilk aşamada KullanıcıID ve Sifre girilen TEdit'ler ile Ok ve İptal tuşları erişilebilir (Enabled:=True), diğer Şifre Değiştirme ve Parola Sıfırlama tuşları kapalı (Enabled:=False) haldedir. Kullanıcı şifre girdiği ve doğru olduğu zaman bu kontroller erişime açılmalıdır...

2. Aşama Şifre Kabul Edildi
- Bu aşamada ise sadece Şifre Değiştir ve Parola Sıfırla butonları aktiftir. Bu sayede yetkili kişilerin değişiklik yapmasına olanak sağlarsın.

- Bu iki aşama ile gerekli kontroller sağlanır...
Resim
Resim ....Resim
Cevapla