FilemakerTurk, AYS Bilişim ve Beyaz Net tarafından desteklenmektedir.
Filemaker Danışmanınız
AYS Bilişim
Mehmet KAYA
 0532 231 07 27
 0216 318 55 80
 mkaya@aysbilisim.net
						

Webdirect de Kayıp Parola İsteği

+1 oy
597 kez görüntülendi
Herkese selam ederim,

 

Webdirect de parolamı unuttum ve parola sıfırlama e-postası nasıl yapılabilir acaba? Konu hakkında yardım ve desteklerinizi bekler hayırlı günler dilerim.

 

Saygılarımla.
7, Ağustos, 2017 WebDirect kategorisinde ercanD (71,050 puan) tarafından soruldu

3 Cevaplar

+1 oy
Mevcut kullanicinin sifresini guncelletebilirsiniz. Bunun icin bir dayfa tasarlayin 2 adet alan koyup bunu betige baglayin. Veya bir kod yaratip onu sifre olarak tanimlayip onuda kull mail olarak gonderin giris yaptiginda degistirsin.
7, Ağustos, 2017 Goksel_Gokce (96,900 puan) tarafından cevaplandı
Hocam cevap için teşekkür ederim.

Bir örnek dosya paylaşmanız mümkün mü acaba. İşin altından kalkamadım da.

Saygılarımla.
+1 oy
WebDirect bu konuda yeterli olmayacaktır. PHP ile ilave bir sayfa kodlayarak script çalıştırmak suretiyle kullanıcı şifresi sıfırlanabilir.

 

Öncelikle FileMaker tarafında scripti yazarsanız PHP ile tetikleme konusu kolay.
10, Ağustos, 2017 F. Osman Cabi (197,900 puan) tarafından cevaplandı
herkese selam ederim;

Hocam ilginiz için çok teşekkür ederim.
Ama daha dediğiniz konulara gelemedim. :)
Ben bir şeyler yaptım ama... Sonuçta çalışıyor ama yine de görüşleriniz benim için çok önemli.
Biraz sonra cevap olarak yazacağım.

Saygılarımla.
0 oy

Herkese selam ederim;

 

Veritabanında bir tablo oluşturuyoruz adı " Kayıp Parola " ve hiç bir tablo ile bağlantısı yok.
İçerisinde oluşturduğum alanlar sorgusunu yaptığımız tablodaki alanlara göre isim verdim karışıklık olmasın diye.
Alanlarımızın hepsi Text ve Global alan.
Alan Adları;
Hesap Adı
Telefon
E-Posta Adresi
Guvenlik Kodu
 

Bir Layout oluşturdum. Adını " Başlangıç " yaptım. İlişkili Tablosu " Kayıp Parola "
Ve bu Layot u açılışta yüklettiriyorum. ( File Options --> Switch to layout )
Yukarıdaki 4 alanı bu tabloya yerleştiriyoruz ( Resim1 )

Şimdi betiğimiz...

Betiğimizin adı;
ParolaSifilamaMesaji
Allow User Abort [ Off ]
Set Error Capture [ On ]
Refresh Window
[ Flush cached join results; Flush cached external data ]
#Girlen bilgileri set ediyoruz
Set Variable [ $$KP_HESAP_ADI; Value:Kayıp Parola::Hesap Adı ]
Set Variable [ $$KP_TELEFON; Value:Kayıp Parola::Telefon ]
Set Variable [ $$KP_EPOSTA; Value:Kayıp Parola::E-Posta Adresi ]
Set Variable [ $$KP_GUVENLIK_KODU; Value:Kayıp Parola::Guvenlik Kodu ]
#Boş alan kontrolü
If [ IsEmpty ( Kayıp Parola::Hesap Adı ) or IsEmpty ( Kayıp Parola::Telefon ) or IsEmpty ( Kayıp Parola::E-Posta Adresi ) or IsEmpty ( Kayıp Parola::
Guvenlik Kodu ) ]
Show Custom Dialog [ Title: "Uyarı"; Message: "Lütfen, tüm alanları doldurunuz..."; Default Button: “Tamam”, Commit: “Yes” ]
Exit Script [ ]
End If
#Ben tabloda 2 farklı hesap adı kullandım  ( Satıcılar ve Alıcılar ) ve sadece satıcılara parola değiştirme olanağı sağlayacağım için " Length " i kullandım ( Satıcılar ın hesap adı 6 karakterden oluşuyor )
If [ Length ( $$KP_HESAP_ADI ) = 6 ]
#Sorguları yaptıracağımız Layout a gidiyoruz ( Benimki CARİ FİRMA )
Go to Layout [ “CARİ FİRMA” (CARİ FİRMA) ]
#Set ettiğimiz bilgileri sorgulatıyoruz.
Perform Find [ Specified Find Requests: Find Records; Criteria: CARİ FİRMA::Hesap Adı: “$$KP_HESAP_ADI” AND CARİ FİRMA::
E-Posta Adresi: “"$$KP_EPOSTA"” AND CARİ FİRMA::Telefon: “$$KP_TELEFON” AND CARİ FİRMA::Guvenlik Kodu: “$
$KP_GUVENLIK_KODU” ]
[ Restore ]
#Sonuç var ise...
If [ Get ( FoundCount ) = 1 ]
#Burada CARİ FİRMA daki Yetkli Kişi alanını set etmemdeki amaç sonuç mesajında Sayın, Yetkli Kişi çıksın diye başka bir amacı yok.
Set Variable [ $$KP_HESAP_YETKILI; Value:CARİ FİRMA::Yetkli Kişi ]
#Burada mesaj gönderme işlemini gerçekleştiriyoruz.
Perform Script [ “SendMail | SatıciFirmaParolaSifirlama” ]
# Başlangıç layout u na geri dönüyoruz
Go to Layout [ original layout ]
#Sonuç mesajı (Resim2)
Show Custom Dialog [ Title: "Bigi"; Message: "Hesap bilgileriniz doğrulandı.¶" & "Sayın, " & $$KP_HESAP_YETKILI &
"¶Parolanız sistemde kayıtlı olan e-posta adresinize gönderilmiştir."; Default Button: “Tamam”, Commit: “Yes” ]
#Girilen bilgiler CARİ FİRMA daki bilgiler ile eşleşmiyor ise...
Else
Go to Layout [ original layout ]
Show Custom Dialog [ Title: "Bigi"; Message: "Hesap doğrulanamadı"; Default Button: “Tamam”, Commit: “Yes” ]
Exit Script [ ]
End If
End If

Betiğimiz bitti
Ayrıca en önemli konu; [Guest] Kullanıcısını akttive ediyoruz. (Resim3)

Resim1

Resim2

Resim3

 

Değerli Hocalarımız;  Düşünceleriniz benim için çok önemli. Hatta bir çoğumuz için de önemli. Görüş, düşünce, eleştiri, yorum...; Artık her ne olursa bekliyorum. 

Saygılarımla.

 

11, Ağustos, 2017 ercanD (71,050 puan) tarafından cevaplandı
Kullanıcı girişini FileMaker kullanıcı hesaplarıyla yaptığınızı düşünerek WebDirect yeterli olmaz diye düşünüyordum. Guest hesabı ile login olmak (küçük riskler olsa da) makul bir çözüm.

Script açıklama satırlarıyla gayet anlaşılır ve güzel olmuş bence. Yalnız bir güvenlik zaafiyeti var. Parola eposta adresine gideceği için çok sıkıntı değil belki ama yine de yazayım. Herhangi bir alandaki bilgiyi tahmin ederek (örneğin telefon numarası yada hesap adı, hatta bunları bir kısmı) şifre sıfırlamak mümkün.

Şöyleki eposta adresinin osmancabi ile başladığını bildiğimi varsayalım. Eposta alanına osmancabi, diğer alanlara ise * (asteriks) işareti koyarak, (osmancabi bir kez geçtiğini varsayarak) 1 kayıt bulmasını sağlayabilirim. Şifre sıfırlama prosedürü böylelikle çalışmış olacak ve durduk yere başka birisi benim şifremin değişmesine sebep olacak.

Çözüm ise çift eşittir işareti. Arama kriterlerinin başına aşağıdaki gibi == koyarak birebir arama yapmasını sağlayabiliriz.

CARİ FİRMA::Hesap Adı: “==$$KP_HESAP_ADI”


* (asteriks) filemakerda bir yada birden çok karakter içerir anlamındadır.


Aynı şekilde @ karakterinin de bir anlamı var, herhangi bir karakter anlamına gelir. Benzer şekilde çift eşittir koymadan arama yaptığınızda @ karakteri sorun çıkarabilir. @ karakterine göre arama yapmak için tüm eposta adresini giriyorsanız başına çift eşittir koyabilir veya @ karakterinin önüne ters slash \ koyarak kaydı bulmasını sağlayabilirsiniz.


Biraz uzun oldu, devrik cümle varsa okuyanlar hoş görsün :)
Hocam değerli yorumlarınız için çok teşekkür ederim.

Dediklerinizi harfiyen uygulayacağım.

Ben de bir iki açıklamada bulunmak isterim.
* Parola e-posta adresine gideceği için büyük bir handikap oluşturacağını düşünmedim. Ayrıca 6 karakterli bir parola ve rastgele oluşturuluyor. ( bu betikte belirtmedim sizleri fazla yormayayım diye )
* Ben e-posta adresini " " ( çift tırak içine alarak çözüm bulmuştum )
* Güvenlik Kodu. Bu kod Firma yetkilisi tarafından daha önce ( kayıt sırasında yada kayıttan sonra sisteme girdiği zaman ) oluşturuluyor.  Rakam, harf yada karakterler dizesi olabilir.
* Son olarak yaptığım testleri (iş güvenlik olunca yaklaşık yüz e yakın test yapmışımdır. ) * ? = == @ ve buna benzer karakteri de kullanarak yaptım.

Ama hocam, şu veciz sözü de unutmamak lazım değil mi; Yazılan kod var ise, kırılacak kod da vardır. :)

Hocam  vakit ayırıp bilgileriniz ile değerli yorumlarınız için çok teşekkür ederim. Allah aklınıza ve yüreğinize sağlık versin.

Saygılarımla.
güzel yorumlarınız için ben teşekkür ederim. çalışmalarınızda başarılar dilerim.
...