Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

Plesk kullandığımız sunucumuz üzerinde Laravelde geliştirdiğimiz bir login sisteminde bazı mobil cihazlarda " 419 Page | EXPIRED " hatası alıyoruz. Bunu nasıl çözebilirim.

@mgsmus @ak

  • mgsmus bunu yanıtladı.
  • okanzen1

    1. config/session.php içinde 'domain' => '.domain.com' şeklinde alan adınızın başına nokta koyarak ekleyin.
    2. cookie değerini 'cookie' => 'domaincomcookie' gibi farklı bir değer verin ve alt çizgi vs kullanmayın.
    3. Bu şekilde same_site değeri hem 'none' hem de 'lax' olacak şekilde deneyin. Denemeden önce denediğiniz tarayıcıdan çerezleri silmeyi unutmayın.
    4. Mobile özel bir şeyler yapıyorsanız oraları kontrol etmeyi unutmayın.
    5. https ile bağlandığınızdan emin olun.
    6. Yeterli disk alanına sahip olduğunuzdan emin olun.
    7. Session driver olarak database kullanıyorsanız onun yerine file ya da varsa redis deneyin.

    Bunlar da çözüm olmazsa ne yazık ki benim yapabileceğim bir şey kalmamış oluyor. Daha önce hiç böyle bir sorun yaşamadım.

    okanzen1 Tarayıcıların cookie ayarları ile ilgili olabilir. 419 aldığınız bir mobil cihazda hangi tarayıcı ile bakıyorsanız girip cookie ayarlarına bakın, belki cookieler engellenmiştir.

      mgsmus cookie engellenmiş olsa devamlı bu hata ile karşılaşmazmıyız?

        okanzen1 Ona bakarsanız masaüstü tarayıcıda bu hatayı almıyorsanız mobilde de almıyor olmanız lazım. Mobil olduğu için bilemiyorum, ayarları değişiyor olabilir, versiyon ya da güncellemeler ile ilgili olabilir.

        mgsmus evet samesite problemi bu. bu güncelleme ilk yapıldığında neler çektiğimi allah biliyor. yine hatırladım. 😀

          'secure' => env('SESSION_SECURE_COOKIE'),
          'same_site' => 'lax',

          Env nin içinde secure tanımlanmamış. Daha önce böyle bir işlem yapmadım nasıl çözebilirim bu durumu

          mgsmus

          mgsmus

          none yaptım ama halen alıyoruz, hatta direk hepsi gitti

            mgsmus cahsden kastınız projenin laravel cash(artisan cash clear) mi yoksa tarayıcı cashimi

              okanzen1 Tarayıcıdan giriyorsunuz ya, eski çerezler kayıtlı ise sorun çıkartıyor olabilir. Tarayıcıdan çerezleri temizleyeceksiniz. Bir de söylemeyi unutmuşum, uygulamanızda SSL sertifikası olması lazım ve 'secure' => true olması gerekiyor.

                dediklerinizi yaptım ama sorun devam ediyor

                  • mgsmus

                    Seviye 1379
                  • Düzenlendi
                  • En İyi Yanıtokanzen1 tarafından

                  okanzen1

                  1. config/session.php içinde 'domain' => '.domain.com' şeklinde alan adınızın başına nokta koyarak ekleyin.
                  2. cookie değerini 'cookie' => 'domaincomcookie' gibi farklı bir değer verin ve alt çizgi vs kullanmayın.
                  3. Bu şekilde same_site değeri hem 'none' hem de 'lax' olacak şekilde deneyin. Denemeden önce denediğiniz tarayıcıdan çerezleri silmeyi unutmayın.
                  4. Mobile özel bir şeyler yapıyorsanız oraları kontrol etmeyi unutmayın.
                  5. https ile bağlandığınızdan emin olun.
                  6. Yeterli disk alanına sahip olduğunuzdan emin olun.
                  7. Session driver olarak database kullanıyorsanız onun yerine file ya da varsa redis deneyin.

                  Bunlar da çözüm olmazsa ne yazık ki benim yapabileceğim bir şey kalmamış oluyor. Daha önce hiç böyle bir sorun yaşamadım.

                    mgsmus
                    Dediklerinizi denedim, domain' => '.domain.com' bu şekilde şuanda çalışıyor daha sonrasında hata verir mi bilmiyorum. Fakat bir şey daha sorucam ben subdomain kullanıyorum.
                    domain' => '.domain.com' bu şekildemi yoksa domain' => '.sub.domain.com' bu şekilde mi kullanmalıyım_ Ayrıca 'driver' => env('SESSION_DRIVER', 'file'), bunu da değiştirmeme gerek varmı? Ayrıca 'cookie' => 'domaincomcookie' bunu değiştirmedim. Bu arada sorularımı sabırla ve açıklayıcı bir şekilde cevapladığınız için teşekkür ederim.

                      okanzen1 'domain' => '.domain.com' olacak. Nokta koyunca cookie subdomain için de kullanılabilsin demek oluyor. Sorununuz bu olabilir. Diğer yerleri eski haline getirebilirsiniz. Sorun çıkmazsa diğerleri orjinal hali ile kalsın.

                        mgsmus Tamamdır hocam. Çok uğraştırdı ama yeni bir şey daha öğrenmiş oldum. Tekrardan teşekkürler