Merhaba arkadaslar python kullanarak web sitesi yapiyorum. Mysqldeki databasemi settings.py icine implement ettim.Ajax ve js kullanarak Kullaniciyi kayit yaptirabiliyorum ve bunlari phpMyadmindeki mysql db de tutabiliyorum.Tabi ki bundan sonra login yaptirma islemi var. Bu konu hakkinda yeterli dokuman bulamadim.Butun dokumanlar neredeyse PHP kullanarak yapmis.PHP hakkinda cok birsey bilmiyorum. PHP kodunu nereye implement ederim , html js ajax pyton php hepsi bi arada calisiyor mu ? vesaire kafamda cok soru isaretleri var. Cevabini ogrenmek istedigim diger soru ise tipki kayit olmada yaptirdigim gibi sadece JS ve AJAX kullanarak mysql deki databesimden SELECT * yaptirip girilen email ve password match ediyorsa login yaptirabilmek hic php ye bulasmadan. Imla hatalari ve devriklik olabilir kusura bakmayin.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
Giriş aşamasında çıplak sql yazmadan da işlem yapabilirsiniz. SQLalchemy kullanabilirsiniz. Flask securty ile authentication ve authorazition kısmını hızlıca halledebilirsiniz.
isimi goren birsey yaptim fakat html den Login butonu ile redirect edemedim bir turlu.Urls.py den pathini girerek kontrol ediyorum oyle oluyor.
Ana sikinti Basta fark etmemistim log fonksiyonunda mysql connectionu , sql execute kisaca cogunu kaldirsamda sadece log(request,email,password) ile calisiyor. Bir turlu check statetine sokamadim.Kayitli olmayan kullaniciyida login ediyor.
views.py
def log(request,email,password): if request.method == "POST": user=User()
Burda sen email ya da şifre olarak ne yazarsan yaz ilgili view fonksiyonu çalışacaktır. View fonks ta da kontrol etse de etmese de yine aynı home.html sayfasını renderliyor. Yukarda url de de yazdığın neyse gösteriyor. Bu yapı baştan sona hatalı. Neden mi?
1) url içinde parola açıkça yazıyor ve bu güvenlik açığı demek
2) parola veritabanına hash lanmadan yazılıyor. Bir veritabanına erişirse tüm parolalr kabak gibi ortada demek.
3) db ye eriştiğin kodlar bir fonksiyon içinde değil. Her view fonks içine yazman demek. Bu da projenin bir iki view eklendikten sonra çok karışık hale geleceği anlamına geliyor. Bu karışıklık da devamında açıkları getirir.
4) kollanıcı sessionu tanımlamamışsın yani dolayısıyla kullanıcı hiçbir şekilde login olamaz.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.