[GH-ISSUE #107] Session Sorunu Hakkında #56

Closed
opened 2026-03-03 15:42:32 +03:00 by kerem · 13 comments
Owner

Originally created by @onurryildirimm on GitHub (Dec 30, 2022).
Original GitHub issue: https://github.com/mewebstudio/pos/issues/107

Merhaba,

YKB ile 3d şifre gönderildikten sonra response sayfası "sipariş bulunamadı session sıfırlandı" tarzı bir hata dönüyor. Açıklama kısmında yazan şekilde bir kaç deneme yaptım ama sorunu çözemedim. örneğin Example dosyalarında nerelerde ne tarz bir değişiklik yapmamız gerek bu sorunu geçmek için ?

Originally created by @onurryildirimm on GitHub (Dec 30, 2022). Original GitHub issue: https://github.com/mewebstudio/pos/issues/107 Merhaba, YKB ile 3d şifre gönderildikten sonra response sayfası "sipariş bulunamadı session sıfırlandı" tarzı bir hata dönüyor. Açıklama kısmında yazan şekilde bir kaç deneme yaptım ama sorunu çözemedim. örneğin Example dosyalarında nerelerde ne tarz bir değişiklik yapmamız gerek bu sorunu geçmek için ?
kerem closed this issue 2026-03-03 15:42:32 +03:00
Author
Owner

@nuryagdym commented on GitHub (Dec 30, 2022):

Merhabalar,
hangi PHP versiyon kullaniyorsunuz?

<!-- gh-comment-id:1367927327 --> @nuryagdym commented on GitHub (Dec 30, 2022): Merhabalar, hangi PHP versiyon kullaniyorsunuz?
Author
Owner

@onurryildirimm commented on GitHub (Dec 30, 2022):

PHP 8.1 versiyonunu kullanmaktayım

<!-- gh-comment-id:1367927780 --> @onurryildirimm commented on GitHub (Dec 30, 2022): PHP 8.1 versiyonunu kullanmaktayım
Author
Owner

@nuryagdym commented on GitHub (Dec 30, 2022):

session extension enabled mi? emin degilseniz bu kodu calistirmayi dener misiniz:

if (!extension_loaded('session')) {
    die('You must enable PHP session support for the system to work.');
}

bazi shared hostinglerde default olarak session extension disabled geliyor

<!-- gh-comment-id:1367928557 --> @nuryagdym commented on GitHub (Dec 30, 2022): session extension enabled mi? emin degilseniz bu kodu calistirmayi dener misiniz: ``` if (!extension_loaded('session')) { die('You must enable PHP session support for the system to work.'); } ``` bazi shared hostinglerde default olarak session extension disabled geliyor
Author
Owner

@onurryildirimm commented on GitHub (Dec 30, 2022):

çalıştırdığımda herhangi bir hata dönmüyor. cpanel den kontrol ettiğimde session aktif gözüküyor
image

<!-- gh-comment-id:1367929715 --> @onurryildirimm commented on GitHub (Dec 30, 2022): çalıştırdığımda herhangi bir hata dönmüyor. cpanel den kontrol ettiğimde session aktif gözüküyor ![image](https://user-images.githubusercontent.com/119333026/210077321-68518352-192b-4a78-8463-7cb9919809e0.png)
Author
Owner

@nuryagdym commented on GitHub (Dec 30, 2022):

burda https://stackoverflow.com/questions/39750906/php-setcookie-samesite-strict/51128675#51128675 anlatildigi gibi samesite=None denediniz mi? Denerken taraycida gizli modda denenmesi iyi olur, yoksa taraycida var olan cookielerin samesite degerini guncellemeyebilir.

Redis kullandigimda bu sorunu yasamamistim, ama PHP session'da sorun cikiyor ara sira.
Ben de session konusunda uzman olmadigim icin cokta bir yardimci olamiyorum.

<!-- gh-comment-id:1367932387 --> @nuryagdym commented on GitHub (Dec 30, 2022): burda https://stackoverflow.com/questions/39750906/php-setcookie-samesite-strict/51128675#51128675 anlatildigi gibi samesite=None denediniz mi? Denerken taraycida gizli modda denenmesi iyi olur, yoksa taraycida var olan cookielerin samesite degerini guncellemeyebilir. Redis kullandigimda bu sorunu yasamamistim, ama PHP session'da sorun cikiyor ara sira. Ben de session konusunda uzman olmadigim icin cokta bir yardimci olamiyorum.
Author
Owner

@erenilhan commented on GitHub (Dec 30, 2022):

"sipariş bulunamadı session sıfırlandı"
bu mesaj ykb tarafından mı dönüyor? @onurryildirimm

<!-- gh-comment-id:1367935634 --> @erenilhan commented on GitHub (Dec 30, 2022): "sipariş bulunamadı session sıfırlandı" bu mesaj ykb tarafından mı dönüyor? @onurryildirimm
Author
Owner

@onurryildirimm commented on GitHub (Dec 30, 2022):

template/_payment_response.php dosyasında

requestten sonrasına ;

if(isset($_COOKIE["PHPSESSID"])){
header('Set-Cookie: PHPSESSID='.$_COOKIE["PHPSESSID"].'; SameSite=None');
}

kod bloğunu ekledim. şimdi hata dönüşü olmadı. Deneme yapmaya devam edeceğim hata ile karşılaşırsam bilgi vereyim tekrar.

<!-- gh-comment-id:1367935648 --> @onurryildirimm commented on GitHub (Dec 30, 2022): template/_payment_response.php dosyasında requestten sonrasına ; if(isset($_COOKIE["PHPSESSID"])){ header('Set-Cookie: PHPSESSID='.$_COOKIE["PHPSESSID"].'; SameSite=None'); } kod bloğunu ekledim. şimdi hata dönüşü olmadı. Deneme yapmaya devam edeceğim hata ile karşılaşırsam bilgi vereyim tekrar.
Author
Owner

@onurryildirimm commented on GitHub (Dec 30, 2022):

hayır _payment_response.php dosyasındaki hata bu

if (!$order) {
throw new Exception('Sipariş bulunamadı, session sıfırlanmış olabilir.');
}

order değerini boş algılıyor session yok gibi ondan dolayı bu hatayı döndürüyor.

<!-- gh-comment-id:1367936447 --> @onurryildirimm commented on GitHub (Dec 30, 2022): > hayır _payment_response.php dosyasındaki hata bu if (!$order) { throw new Exception('Sipariş bulunamadı, session sıfırlanmış olabilir.'); } order değerini boş algılıyor session yok gibi ondan dolayı bu hatayı döndürüyor.
Author
Owner

@nuryagdym commented on GitHub (Dec 30, 2022):

SameSite=None sorunu giderdi mi?

<!-- gh-comment-id:1367938417 --> @nuryagdym commented on GitHub (Dec 30, 2022): SameSite=None sorunu giderdi mi?
Author
Owner

@onurryildirimm commented on GitHub (Dec 30, 2022):

SameSite=None sorunu giderdi mi?

Şu an sorun yok gibi gözüküyor, dediğim sayfaya bu kodu ekleyince response sayfası düzgün şekilde çalıştı. Çekim işlemi yaptım sorunla karşılaşmadım.

<!-- gh-comment-id:1367939317 --> @onurryildirimm commented on GitHub (Dec 30, 2022): > SameSite=None sorunu giderdi mi? Şu an sorun yok gibi gözüküyor, dediğim sayfaya bu kodu ekleyince response sayfası düzgün şekilde çalıştı. Çekim işlemi yaptım sorunla karşılaşmadım.
Author
Owner

@nuryagdym commented on GitHub (Dec 30, 2022):

dokumantasyona bakmakta fayda var :) https://github.com/mewebstudio/pos#session-s%C4%B1f%C4%B1rlanmas%C4%B1

<!-- gh-comment-id:1367940213 --> @nuryagdym commented on GitHub (Dec 30, 2022): dokumantasyona bakmakta fayda var :) https://github.com/mewebstudio/pos#session-s%C4%B1f%C4%B1rlanmas%C4%B1
Author
Owner

@nuryagdym commented on GitHub (Jan 3, 2023):

Not olarak yaziyorum, yukarda belirtilen stackoverflow kaynakta da belirtildigi gibi SameSite=None, Secure flag olmadan calismaz (yada calismayabilir).
yani @onurryildirimm paylastigi kod

header('Set-Cookie: PHPSESSID='.$_COOKIE["PHPSESSID"].'; SameSite=None; HttpOnly');

yerine su sekilde kullanmaniz gerekebilir.

header('Set-Cookie: PHPSESSID='.$_COOKIE["PHPSESSID"].'; SameSite=None; Secure; HttpOnly');

Benim durumda Secure flag olmadan denedigimde session cookie, SameSite=None dememe ragmen, screenshot'ta goruldugu gibi SameSite deger bos olarak gozukuyor:
image

Secure flag'le beraner kullanildiginda ise su sekilde gozukecek ve duzgun calisan sekli:
image

Kod orneklerde symfony session component kullanilmaktadir, orda da dogru ayar su sekilde:

$sessionHandler = new \Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage([
    'cookie_samesite' => 'None',
    'cookie_secure'     => true,
    'cookie_httponly'  => true,
]);

<!-- gh-comment-id:1369517476 --> @nuryagdym commented on GitHub (Jan 3, 2023): Not olarak yaziyorum, yukarda belirtilen stackoverflow kaynakta da belirtildigi gibi `SameSite=None`, `Secure` flag olmadan calismaz (yada calismayabilir). yani @onurryildirimm paylastigi kod ```php header('Set-Cookie: PHPSESSID='.$_COOKIE["PHPSESSID"].'; SameSite=None; HttpOnly'); ``` yerine su sekilde kullanmaniz gerekebilir. ```php header('Set-Cookie: PHPSESSID='.$_COOKIE["PHPSESSID"].'; SameSite=None; Secure; HttpOnly'); ``` Benim durumda `Secure` flag olmadan denedigimde session cookie, SameSite=None dememe ragmen, screenshot'ta goruldugu gibi SameSite deger bos olarak gozukuyor: ![image](https://user-images.githubusercontent.com/26792980/210325149-9a49ac6a-7055-458e-9a9d-792669925643.png) `Secure` flag'le beraner kullanildiginda ise su sekilde gozukecek ve duzgun calisan sekli: ![image](https://github.com/user-attachments/assets/c5e478c9-b378-458f-8b25-d50ad2572144) Kod orneklerde symfony session component kullanilmaktadir, orda da dogru ayar su sekilde: ```php $sessionHandler = new \Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage([ 'cookie_samesite' => 'None', 'cookie_secure' => true, 'cookie_httponly' => true, ]); ```
Author
Owner

@canerd7u commented on GitHub (Sep 1, 2023):

@nuryagdym bunu projede nereye nasıl ekleyeceğiz ?

<!-- gh-comment-id:1702945877 --> @canerd7u commented on GitHub (Sep 1, 2023): @nuryagdym bunu projede nereye nasıl ekleyeceğiz ?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/pos#56
No description provided.