Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi Örnek Login Ekranı
#1
procedure TForm1.Button1Click(Sender: TObject);
begin
FDQuery1.Open('select * from kullanicilar where kadi='+#39+kullanici.Text+#39+' and ksifre='+#39+sifreniz.Text+#39) ;

if FDQuery1.RecordCount > 0 then  //Eğer bilgi varsa
begin
form1.Hide;
form3.Show;
end
else
if FDQuery1.RecordCount <=0 then
  begin
   showmessage('Kullanıcı Adı veya Şifreniz Hatalı');
  end;
end;

oOBoWX.png

Yardımcı olması dileği ile... Blush 

Proje dosyasına ve programa ulaşmak için tıklayınız.
showmessage('DelphiCan')
Cevapla
#2
(05-05-2018, Saat: 12:08)mehmetalpgozbasi Adlı Kullanıcıdan Alıntı:
procedure TForm1.Button1Click(Sender: TObject);
begin
FDQuery1.Open('select * from kullanicilar where kadi='+#39+kullanici.Text+#39+' and ksifre='+#39+sifreniz.Text+#39) ;

if FDQuery1.RecordCount > 0 then  //Eğer bilgi varsa
begin
form1.Hide;
form3.Show;
end
else
if FDQuery1.RecordCount <=0 then
  begin
   showmessage('Kullanıcı Adı veya Şifreniz Hatalı');
  end;
end;

oOBoWX.png

Yardımcı olması dileği ile... Blush 
[/url]
[url=https://drive.google.com/open?id=1MVX7p4ysTFPf_yeaLyHp5wTjTdGE55c_]Proje dosyasına ve programa ulaşmak için tıklayınız.
Selamlar.

Select sorgusunu aşağıdaki gibi parametre ile de kullanabilirsiniz. 

FDQuery1.Open('select * from kullanicilar where kadi = :kadi and ksifre = :ksifre', [kullanici.Text, sifreniz.Text]) 
Cevapla
#3
(05-05-2018, Saat: 12:13)Slowhand Adlı Kullanıcıdan Alıntı:
(05-05-2018, Saat: 12:08)mehmetalpgozbasi Adlı Kullanıcıdan Alıntı:
procedure TForm1.Button1Click(Sender: TObject);
begin
FDQuery1.Open('select * from kullanicilar where kadi='+#39+kullanici.Text+#39+' and ksifre='+#39+sifreniz.Text+#39) ;

if FDQuery1.RecordCount > 0 then  //Eğer bilgi varsa
begin
form1.Hide;
form3.Show;
end
else
if FDQuery1.RecordCount <=0 then
  begin
   showmessage('Kullanıcı Adı veya Şifreniz Hatalı');
  end;
end;

oOBoWX.png

Yardımcı olması dileği ile... Blush 
[/url]
[url=https://drive.google.com/open?id=1MVX7p4ysTFPf_yeaLyHp5wTjTdGE55c_]Proje dosyasına ve programa ulaşmak için tıklayınız.
Selamlar.

Select sorgusunu aşağıdaki gibi parametre ile de kullanabilirsiniz. 

FDQuery1.Open('select * from kullanicilar where kadi = :kadi and ksifre = :ksifre', [kullanici.Text, sifreniz.Text]) 

Haklısınız. Teşekkürler
showmessage('DelphiCan')
Cevapla
#4
Elinize sağlık. Ama ilk kullanımda sql injection saldırısı ile yetkisiz kişiler login olabiliyor. herhalde slowhand in paylaştığı yöntemle sql injection çalışmaz. ben ilk paylaşılan yöntemle login panel oluşturuyorum fakat edit te tırnak işareti varsa sil komutu ile tırnak işareti girilmesini engelliyorum. Çünkü sql injection tırnak işareti ile yapılıyor.
Cevapla
#5
(05-05-2018, Saat: 13:48)hakanharbeli Adlı Kullanıcıdan Alıntı: Elinize sağlık. Ama ilk kullanımda sql injection saldırısı ile yetkisiz kişiler login olabiliyor. herhalde slowhand in paylaştığı yöntemle sql injection çalışmaz. ben ilk paylaşılan yöntemle login panel oluşturuyorum fakat  edit te tırnak işareti varsa sil komutu ile tırnak işareti girilmesini engelliyorum. Çünkü sql injection tırnak işareti ile yapılıyor.
Haklısınız. Fakat ben SQL incetion üzerinde çalıştım bu projede fakat herhangi bir açık oluşmadı ya da ben tam olarak yapamadım.
showmessage('DelphiCan')
Cevapla
#6
(05-05-2018, Saat: 13:54)mehmetalpgozbasi Adlı Kullanıcıdan Alıntı:
(05-05-2018, Saat: 13:48)hakanharbeli Adlı Kullanıcıdan Alıntı: Elinize sağlık. Ama ilk kullanımda sql injection saldırısı ile yetkisiz kişiler login olabiliyor. herhalde slowhand in paylaştığı yöntemle sql injection çalışmaz. ben ilk paylaşılan yöntemle login panel oluşturuyorum fakat  edit te tırnak işareti varsa sil komutu ile tırnak işareti girilmesini engelliyorum. Çünkü sql injection tırnak işareti ile yapılıyor.
Haklısınız. Fakat ben SQL incetion üzerinde çalıştım bu projede fakat herhangi bir açık oluşmadı ya da ben tam olarak yapamadım.

Merhaba,
Bir SQL ifadesinin doğrudan veri tabanına gönderilmesi;  @hakanharbeli nin belirttiği gibi her zaman risklere açıktır. 
Parametrik gönderimler daha güvenilir ve Enjectionlara karşı iyi bir tedbirdir.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#7
Hepinize teşekkür ederim. Bu konu üzerinde çalışıp  gereken güncellemeleri yapacağım.
showmessage('DelphiCan')
Cevapla
#8
hacı abi eskiden ben böyle konular açınca eleştiri yapılınca sinirim bozulur , hevesim kırılırdı.
Sonradan bunların önemli olduğunu gördüm. iyi dinle.Söyleyeceklerim benim görüşüm.
Öyle yerlerde öyle korumalara kafa patlatırdım ki tam anlamıyla muhteşem olurdu.Ama onunla uğraşırken başka yerleri açmışım haberim yok.
Şimdi Application crack işlemini yapan , Sql Enjeksiyonu ön tarama olarak yarım saat deneyip geçiyor.
hatta çok ciddi application crack yapan bir tanıdığım vardı.Adam Sql Enjeksiyon hakkında bir tek 'or' komutunu bilirdi Smile

1-) Mesaj verme kısmı tehlike! çünkü cracklemeye orayı tespit ederek başlarlar.

2-) = komutunu değiştirerek çok rahat kırıldığını gördüm

3-) Bu tür kısımları düzenli yazmak yerine saçma saçma ordan oraya ordan oraya birsürü işlemler yaparak bağlanmanın kırılma süresini uzattığını gördüm.

şimdilik aklıma gelen bunlar. inşAllah yardımcı olabilmişimdir.
Cevapla
#9
Selam arkadaslar boyle bir tasarım hazırladım bunu dokunmatik pos pc de kullanacagım, fikirlerinizi merak ediyorum. Altındaki diğer formlarda bu mantıkla hazırladı.
sadece gölgeli butonlar yapmayı düşündüm ama uygun bir yöntem bulamadım yada bir komponent bulamadı buradaki buttonlar cxbutton.
kolay gelsin tüm yazılımcı kardeşlerime.


Ek Dosyalar Resimler
   
Cevapla
#10
(18-09-2019, Saat: 11:34)tcoder34 Adlı Kullanıcıdan Alıntı: Selam arkadaslar boyle bir tasarım hazırladım bunu dokunmatik pos pc de kullanacagım, fikirlerinizi merak ediyorum. Altındaki diğer formlarda bu mantıkla hazırladı.
sadece gölgeli butonlar yapmayı düşündüm ama uygun bir yöntem bulamadım yada bir komponent bulamadı buradaki buttonlar cxbutton.
kolay gelsin tüm yazılımcı kardeşlerime.

Selam

Görselinizi beğendim. Ben yazmış olduğum  panelde, touchkeyboard bileşenini kullanmıştım.

   
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi 10.3 Rest Debugger sorunu varyemez 3 56 1 saat önce
Son Yorum: SimaWB
  python, c++ for delphi tarzında eğitim, delphi ile diller arası entegrasyon eroniko 3 85 Dün, Saat: 18:15
Son Yorum: engerex
  Delphi 10.3 Rio KeyBindings Abdullah ILGAZ 5 213 19-05-2020, Saat: 02:37
Son Yorum: Abdullah ILGAZ
Lightbulb Delphi Proje Yardım ThePixeL 18 1.178 29-04-2020, Saat: 02:28
Son Yorum: ThePixeL
  delphi clamav library sorunu, eroniko 6 413 27-04-2020, Saat: 03:27
Son Yorum: eroniko



Konuyu Okuyanlar: 1 Ziyaretçi