Mongo - Express-React-Node (MERN)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lazz
    lazz's avatar
    Kayıt Tarihi: 15/Ekim/2007
    Erkek
    NighT_JudGe bunu yazdı

    lazım olan  olur diyerekten  şuraya  bırakayım  

     

    https://github.com/Tuncaysukan/Netfilx_Clone

    eline sağlık hocam

    gene kodlarınızı ıncelıyordum

    const verify = require("../verifyToken");
     
    su kodunuzun calısma mantıgı nedır
    orada oyle bır dosyada bulamadım ıncelmek ıcın
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Gececi
    NighT_JudGe
    NighT_JudGe's avatar
    Kayıt Tarihi: 09/Aralık/2008
    Erkek
    lazz bunu yazdı
    NighT_JudGe bunu yazdı

    lazım olan  olur diyerekten  şuraya  bırakayım  

     

    https://github.com/Tuncaysukan/Netfilx_Clone

    eline sağlık hocam

    gene kodlarınızı ıncelıyordum

    const verify = require("../verifyToken");
     
    su kodunuzun calısma mantıgı nedır
    orada oyle bır dosyada bulamadım ıncelmek ıcın

    son  değişiklikleri   push  etmemişim  hocam  kusura bakma şimdi  attım 


    Cahildim Dünyanın Rengine Kandım
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lazz
    lazz's avatar
    Kayıt Tarihi: 15/Ekim/2007
    Erkek

    tesekkur ederım hocam guzel kaynak olusuyor banada

    baska bu tarzda projeler varsa paylasırsan sevınırım hocam

     

    bir soru daha sormak ısterım ustadlara

    jwt kullandıgımız zaman verdıgımız key suresı dolana kadar calısıyor ama mevcut kullanılan hesabın durumu devre dısı bırakırsak jwt bundan etkılenmıyor.

    bu yüzden her sorguda hesabın bılgılerını kontrol edıyorum sıfresı ve durumu aktıfmı dıye

    bunun daha kolay veya daha orjınal bır yolu varmı

    lazz tarafından 16/Ağu/21 15:18 tarihinde düzenlenmiştir
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    antichrist
    antichrist's avatar
    Kayıt Tarihi: 15/Ağustos/2021
    Erkek
    lazz bunu yazdı

    tesekkur ederım hocam guzel kaynak olusuyor banada

    baska bu tarzda projeler varsa paylasırsan sevınırım hocam

     

    bir soru daha sormak ısterım ustadlara

    jwt kullandıgımız zaman verdıgımız key suresı dolana kadar calısıyor ama mevcut kullanılan hesabın durumu devre dısı bırakırsak jwt bundan etkılenmıyor.

    bu yüzden her sorguda hesabın bılgılerını kontrol edıyorum sıfresı ve durumu aktıfmı dıye

    bunun daha kolay veya daha orjınal bır yolu varmı

    Hocam 5-6 ay öncesinde test maksatlı yaptığım bir sistemin reposunu vereyim. Kodlar çok ideal durumda değil, sağlam bir refactoring gerekiyor. Çok üzerinde durmadım ama teknikler mantıken işine yarar diye umuyorum.

    https://github.com/gakalin/whatsapp-clone

    Jwt konusuna gelecek olursak, her jwt token 3 parçadan oluşur. Header, payload ve signature. Header kullanılan algoritmayı taşır. Payload eğer girildiyse bitiş süresi, içine konan data gibi verileri saklar. Signature ise verify kısmında basitçe kullanılacak keylerin bir kombinasyonunu barındırır.

    Hesabın durumunu jwt üzerinden kontrol edemezsin. Jwt token'ı basitçe user ile sunucun arasındaki bir sözleşme gibi düşün. İmzalar uyuyorsa, senin sunucun tarafından imzalandıysa geçerliliği olsun diye kullanılıyor.

    Anca payload kısmına hassas olmayan kullanıcı bilgilerini koyup ayrı bir mekanizma ile kullanıcı aktif mi diye bakabilirsin. Misal user id tutulabilir. Hassas bilgi tutmanı şundan önermiyorlar, jwt token'lar decode edilebilir. Yani içine koyduğun datalar doğrudan https://jwt.io/ adresinden decode edilebiliyor. Sen api ya da servisinde tokenden gelen id değeriyle backend'de user'ın durumunu kontrol ettirip ona göre olumlu olumsuz yanıt döndürebilirsin. Jwt token verify edilemezse ya hatalıdır ya da süresi bitmiştir. Ama verify ediliyorsa sana zaten payload datasını döndürecektir. Payload'dan alacağın user id gibi bilgileri de artık hangi işlemi yapmak istiyorsan ona göre kontrol ettirmen gerekiyor.

    2. bir yöntem ise, diyelim kullanıcıyı banladın tekrar token geçerli olmasın istiyorsun. Veritabanında tokenleri saklayıp banlanma esnasında token'i database'den sildirebilirsin. Eğer girilen token db'de yoksa hiç login ettirmezsin. Zaten ileri düzey bir kontrol için bu gerekli. User'a sadece token vermek güvenliği düşüren bir etmen. Sonuçta o token'ı alıp postman dahil herhangi bir yerden sistemine erişim sağlayabilirler. Basit bir Refresh token - Access token mekanizması da oluşturabilirsin.


    ~
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Gececi
    NighT_JudGe
    NighT_JudGe's avatar
    Kayıt Tarihi: 09/Aralık/2008
    Erkek
    antichrist bunu yazdı
    lazz bunu yazdı

    tesekkur ederım hocam guzel kaynak olusuyor banada

    baska bu tarzda projeler varsa paylasırsan sevınırım hocam

     

    bir soru daha sormak ısterım ustadlara

    jwt kullandıgımız zaman verdıgımız key suresı dolana kadar calısıyor ama mevcut kullanılan hesabın durumu devre dısı bırakırsak jwt bundan etkılenmıyor.

    bu yüzden her sorguda hesabın bılgılerını kontrol edıyorum sıfresı ve durumu aktıfmı dıye

    bunun daha kolay veya daha orjınal bır yolu varmı

    Hocam 5-6 ay öncesinde test maksatlı yaptığım bir sistemin reposunu vereyim. Kodlar çok ideal durumda değil, sağlam bir refactoring gerekiyor. Çok üzerinde durmadım ama teknikler mantıken işine yarar diye umuyorum.

    https://github.com/gakalin/whatsapp-clone

    Jwt konusuna gelecek olursak, her jwt token 3 parçadan oluşur. Header, payload ve signature. Header kullanılan algoritmayı taşır. Payload eğer girildiyse bitiş süresi, içine konan data gibi verileri saklar. Signature ise verify kısmında basitçe kullanılacak keylerin bir kombinasyonunu barındırır.

    Hesabın durumunu jwt üzerinden kontrol edemezsin. Jwt token'ı basitçe user ile sunucun arasındaki bir sözleşme gibi düşün. İmzalar uyuyorsa, senin sunucun tarafından imzalandıysa geçerliliği olsun diye kullanılıyor.

    Anca payload kısmına hassas olmayan kullanıcı bilgilerini koyup ayrı bir mekanizma ile kullanıcı aktif mi diye bakabilirsin. Misal user id tutulabilir. Hassas bilgi tutmanı şundan önermiyorlar, jwt token'lar decode edilebilir. Yani içine koyduğun datalar doğrudan https://jwt.io/ adresinden decode edilebiliyor. Sen api ya da servisinde tokenden gelen id değeriyle backend'de user'ın durumunu kontrol ettirip ona göre olumlu olumsuz yanıt döndürebilirsin. Jwt token verify edilemezse ya hatalıdır ya da süresi bitmiştir. Ama verify ediliyorsa sana zaten payload datasını döndürecektir. Payload'dan alacağın user id gibi bilgileri de artık hangi işlemi yapmak istiyorsan ona göre kontrol ettirmen gerekiyor.

    2. bir yöntem ise, diyelim kullanıcıyı banladın tekrar token geçerli olmasın istiyorsun. Veritabanında tokenleri saklayıp banlanma esnasında token'i database'den sildirebilirsin. Eğer girilen token db'de yoksa hiç login ettirmezsin. Zaten ileri düzey bir kontrol için bu gerekli. User'a sadece token vermek güvenliği düşüren bir etmen. Sonuçta o token'ı alıp postman dahil herhangi bir yerden sistemine erişim sağlayabilirler. Basit bir Refresh token - Access token mekanizması da oluşturabilirsin.

    hocam  çoko güzel  özetlemişsin bende bunun için makale gibi bir şey  yazıyordum :) ama gerek  kalmadı  


    Cahildim Dünyanın Rengine Kandım
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lazz
    lazz's avatar
    Kayıt Tarihi: 15/Ekim/2007
    Erkek
    antichrist bunu yazdı
    lazz bunu yazdı

    jwt kullandıgımız zaman verdıgımız key suresı dolana kadar calısıyor ama mevcut kullanılan hesabın durumu devre dısı bırakırsak jwt bundan etkılenmıyor.

    bu yüzden her sorguda hesabın bılgılerını kontrol edıyorum sıfresı ve durumu aktıfmı dıye

    bunun daha kolay veya daha orjınal bır yolu varmı

    Hocam 5-6 ay öncesinde test maksatlı yaptığım bir sistemin reposunu vereyim. Kodlar çok ideal durumda değil, sağlam bir refactoring gerekiyor. Çok üzerinde durmadım ama teknikler mantıken işine yarar diye umuyorum.

    https://github.com/gakalin/whatsapp-clone

    Jwt konusuna gelecek olursak, her jwt token 3 parçadan oluşur. Header, payload ve signature. Header kullanılan algoritmayı taşır. Payload eğer girildiyse bitiş süresi, içine konan data gibi verileri saklar. Signature ise verify kısmında basitçe kullanılacak keylerin bir kombinasyonunu barındırır.

    Hesabın durumunu jwt üzerinden kontrol edemezsin. Jwt token'ı basitçe user ile sunucun arasındaki bir sözleşme gibi düşün. İmzalar uyuyorsa, senin sunucun tarafından imzalandıysa geçerliliği olsun diye kullanılıyor.

    Anca payload kısmına hassas olmayan kullanıcı bilgilerini koyup ayrı bir mekanizma ile kullanıcı aktif mi diye bakabilirsin. Misal user id tutulabilir. Hassas bilgi tutmanı şundan önermiyorlar, jwt token'lar decode edilebilir. Yani içine koyduğun datalar doğrudan https://jwt.io/ adresinden decode edilebiliyor. Sen api ya da servisinde tokenden gelen id değeriyle backend'de user'ın durumunu kontrol ettirip ona göre olumlu olumsuz yanıt döndürebilirsin. Jwt token verify edilemezse ya hatalıdır ya da süresi bitmiştir. Ama verify ediliyorsa sana zaten payload datasını döndürecektir. Payload'dan alacağın user id gibi bilgileri de artık hangi işlemi yapmak istiyorsan ona göre kontrol ettirmen gerekiyor.

    2. bir yöntem ise, diyelim kullanıcıyı banladın tekrar token geçerli olmasın istiyorsun. Veritabanında tokenleri saklayıp banlanma esnasında token'i database'den sildirebilirsin. Eğer girilen token db'de yoksa hiç login ettirmezsin. Zaten ileri düzey bir kontrol için bu gerekli. User'a sadece token vermek güvenliği düşüren bir etmen. Sonuçta o token'ı alıp postman dahil herhangi bir yerden sistemine erişim sağlayabilirler. Basit bir Refresh token - Access token mekanizması da oluşturabilirsin.

    teşekkur ederım hocam asagı yukarı boyle bır yontem kullanıyorum

    jwt decode edıldıgı ıcın kullanmayı bıraktım jwt yı

    onun yerıne ıstedıgım bılgılerı json cevırım aes ıle sıfrelıyorum

    bu sayade verıyı phpdende gondersem, nodejsden gondersem yanı sonuca cıkıyorum ve verılerım guvende kalıyor

    kodlarınıda ıncelıcem hocam

    cok yararlı bır konu oldu

Toplam Hit: 4109 Toplam Mesaj: 27
mern mongoose react