Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Session Sorunu Hakkında #107

Closed
onurryildirimm opened this issue Dec 30, 2022 · 13 comments
Closed

Session Sorunu Hakkında #107

onurryildirimm opened this issue Dec 30, 2022 · 13 comments

Comments

@onurryildirimm
Copy link

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 ?

@nuryagdym
Copy link
Collaborator

Merhabalar,
hangi PHP versiyon kullaniyorsunuz?

@onurryildirimm
Copy link
Author

PHP 8.1 versiyonunu kullanmaktayım

@nuryagdym
Copy link
Collaborator

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

@onurryildirimm
Copy link
Author

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

@nuryagdym
Copy link
Collaborator

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.

@erenilhan
Copy link

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

@onurryildirimm
Copy link
Author

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.

@onurryildirimm
Copy link
Author

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.

@nuryagdym
Copy link
Collaborator

SameSite=None sorunu giderdi mi?

@onurryildirimm
Copy link
Author

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.

@nuryagdym
Copy link
Collaborator

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

@nuryagdym
Copy link
Collaborator

nuryagdym commented 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,
]);

@nuryagdym nuryagdym pinned this issue Jan 3, 2023
@nuryagdym nuryagdym changed the title YKB Session Sorunu Hakkında Session Sorunu Hakkında Jan 3, 2023
@canerd7u
Copy link

canerd7u commented Sep 1, 2023

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants