• 23-08-2020, 11:11:34
    #10
    phpdevelopertr adlı üyeden alıntı: mesajı görüntüle
    Teşekkür ederim.

    header('Set-Cookie: same-site-cookie=foo; SameSite=Lax');
    header('Set-Cookie: cross-site-cookie=bar; SameSite=None; Secure');
    session_start();
    yukarıdaki şekilde deniyorum. sonuç alamadım. dönüşte tüm sessionları unutuyor tarayıcı.

    header('Set-Cookie: cross-site-cookie=bar; SameSite=None; Secure');
    session_start();
    bu şekilde de denedim.

    session_start();header('Set-Cookie: cross-site-cookie=bar; SameSite=None; Secure');
    bunu da denedim.

    Ayrıca sizin bu konuda paylaştığınız kodu da denedim. Hiçbir fark yok sonuç alamadım.

    Yabancı kaynaklarda gördüğüm kadarı ile benim gibi sonuç alamayan nice insan var. Belki siz tecrübe etmişsinizdir diye size sordum. Çünkü sonuç alanlar da var.

    Nerede ne yanlış yapıyoruz? Bu kodu eklemenin bir tarifi mi var başka?
    Belirtmiş olduğunuz alternatif ve benim belirtmiş olduğum dışında bildiğim kadarıyla başka bir yöntem bulunmamakta. Tarayıcı konsolunda çerezlerin durumları sizin işaretlediğiniz şekilde görünüyor mu? session_set_cookie_params ile sorunu çözmüştüm. Ancak yaşadığınız sorunun birden fazla nedeni olabilir.
  • 23-08-2020, 11:14:49
    #11
    Berkay61 adlı üyeden alıntı: mesajı görüntüle
    Belirtmiş olduğunuz alternatif ve benim belirtmiş olduğum dışında bildiğim kadarıyla başka bir yöntem bulunmamakta. Tarayıcı konsolunda çerezlerin durumları sizin işaretlediğiniz şekilde görünüyor mu? session_set_cookie_params ile sorunu çözmüştüm. Ancak yaşadığınız sorunun birden fazla nedeni olabilir.
    tarayıcı konsolunda çerezleri kontrol ediyorum. çerezler samesite olarak işaretleniyor. ancak aynı sayfada bulunan googleapis üstünden çektiğim font kütüphanesi, gibi kütüphaneler için blocked uyarısı veriyor. Bununla birlikte sanki hiç samesite işaretlenmemiş gibi callback sırasında NULL oluyor herşey.

    session_set_cookie_params parametresini session_start() ve ob_start() en üstüne mi yerleştireceğiz? ve bu parametre her sayfada en üstte header alanda olmalımı yoksa sadece callback sayfasında en üstte mi olmalı=?
  • 23-08-2020, 11:18:53
    #12
    phpdevelopertr adlı üyeden alıntı: mesajı görüntüle
    tarayıcı konsolunda çerezleri kontrol ediyorum. çerezler samesite olarak işaretleniyor. ancak aynı sayfada bulunan googleapis üstünden çektiğim font kütüphanesi, gibi kütüphaneler için blocked uyarısı veriyor. Bununla birlikte sanki hiç samesite işaretlenmemiş gibi callback sırasında NULL oluyor herşey.

    session_set_cookie_params parametresini session_start() ve ob_start() en üstüne mi yerleştireceğiz? ve bu parametre her sayfada en üstte header alanda olmalımı yoksa sadece callback sayfasında en üstte mi olmalı=?
    Başta belirtmiş olduğum gibi session_start fonksiyonunu çağırdığınız her sayfada öncesinde session_set_cookie_params ile parametreleri girmeniz gerekiyor. Anladığım kadarıyla kodunuzda her sayfa özelinde session_start çağırarak işlem yapmaktasınız.

    Her session_start öncesinde belirtmiş olduğum parametreler ile session_set_cookie_params çağırmazsanız mevcut çerezleri sıfırlayacaktır.
  • 23-08-2020, 11:30:32
    #13
    Berkay61 adlı üyeden alıntı: mesajı görüntüle
    Başta belirtmiş olduğum gibi session_start fonksiyonunu çağırdığınız her sayfada öncesinde session_set_cookie_params ile parametreleri girmeniz gerekiyor. Anladığım kadarıyla kodunuzda her sayfa özelinde session_start çağırarak işlem yapmaktasınız.

    Her session_start öncesinde belirtmiş olduğum parametreler ile session_set_cookie_params çağırmazsanız mevcut çerezleri sıfırlayacaktır.
    Teşekkür ederim.denedim ama sonuç alamadım yine.

    Tek bir header. her sayfada çağırmak zorundayım.Callback de yine aynı header mevcut. En üste yerleştiriyorum.

    Bir request gönderiyorum. Bankaya yönleniyor. Sonra bir callback alıyorum 3d ekranından sonra.

    Sadece $_SESSION kullanıyorum. $_COOKIE kullanmıyorum. Bununla alakalı olabilirmi?

    Son olarak session_set_cookie_params tüm php sürümlerinde samesite için register oluşturuyormu?php nin sitesinde bir kısıt yok gibi gözüküyor.
  • 23-08-2020, 11:40:50
    #14
    phpdevelopertr adlı üyeden alıntı: mesajı görüntüle
    Teşekkür ederim.denedim ama sonuç alamadım yine.

    Tek bir header. her sayfada çağırmak zorundayım.Callback de yine aynı header mevcut. En üste yerleştiriyorum.

    Bir request gönderiyorum. Bankaya yönleniyor. Sonra bir callback alıyorum 3d ekranından sonra.

    Sadece $_SESSION kullanıyorum. $_COOKIE kullanmıyorum. Bununla alakalı olabilirmi?

    Son olarak session_set_cookie_params tüm php sürümlerinde samesite için register oluşturuyormu?php nin sitesinde bir kısıt yok gibi gözüküyor.
    Bu tür durumlarda $_SESSION kullanmalısınız, kullanımınızda bir sorun bulunmuyor. session_set_cookie_params sizin de belirttiğiniz gibi php4'ten bu yana bulunmakta... Sitenizde bulunan tarafınızca eklenmiş session değerlerini konsolda detaylarıyla birlikte (samesite ve secure değerleri) ekran görüntüsü atıp yollarsanız daha net bir şeyler söyleyebilirim
  • 23-08-2020, 17:25:44
    #15
    arkadaşlar cookie olayını şu şekilde çözdüm. bütün siteler için bir fonksiyon yazdım ve cookieleri bu fonksiyon ile oluşturdum. fonksiyon şöyle

    function setkuki($name, $value, $expire, $path, $domain, $secure="true", $httponly="true", $samesite="None"){
        if (PHP_VERSION_ID < 70300) {
            setcookie($name, $value, $expire, "$path; samesite=$samesite", $domain, $secure, $httponly);
        }
        else {
            setcookie($name, $value, [
                'expires' => $expire,
                'path' => $path,
                'domain' => $domain,
                'samesite' => $samesite,
                'secure' => $secure,
                'httponly' => $httponly,
            ]);
        }
    }
    bu şekilde bütün sitelere cookie oluşturup silebiliyorum. ancak kullanıcı çıkış yap dediğinde bütün sitelerde cookiler siliniyor ancak sessionlar kaldığı için çıkış yapılamıyor.
    $_SESSION["uye"] = ''
    kodunu kullanıyordum. ana domainde çıkış yapılıyor, uzak domainlerde session sonlanmıyor. bu konuda ne yapabilirim.