Php 8 Session Nedir?

Php 8 Session Nedir?

PHP 8'de Session (Oturum), kullanıcıyla sunucu arasında veri depolamak ve bu veriyi kullanıcı gezinirken veya oturumu kapatana kadar tutmak için kullanılan bir yöntemdir. Oturumlar, sunucu tarafında saklanır ve çerezler ile oturumun izlenmesi sağlanır. Çerezlerden farklı olarak, oturum verileri tarayıcıda değil, sunucuda tutulur ve bu sayede daha güvenli bir veri saklama yöntemi sağlar.

1. PHP Session Nasıl Çalışır?

Bir oturum başlatıldığında, sunucu her kullanıcıya özel bir oturum kimliği (session ID) atar. Bu oturum kimliği, genellikle kullanıcı tarayıcısında bir çerez olarak saklanır. Kullanıcı sunucuyla her etkileşime geçtiğinde bu kimlik tarayıcı tarafından gönderilir ve böylece sunucu, bu kullanıcının hangi oturuma ait olduğunu anlayarak ona özel saklanan verileri kullanabilir.

2. Session Başlatma

Bir oturum başlatmak için session_start() fonksiyonu kullanılır. Bu fonksiyon, mevcut bir oturumu yeniden başlatır veya yeni bir oturum oluşturur.

Örnek:

// Oturumu başlat session_start(); // Kullanıcı adı oturum değişkeni olarak saklanır $_SESSION["kullanici_adi"] = "Ahmet"; // Oturum başlatıldığını onaylayalım echo "Oturum başlatıldı ve kullanıcı adı: " . $_SESSION["kullanici_adi"];

Bu örnekte, oturum başlatılır ve "kullanici_adi" anahtarıyla bir oturum değişkeni oluşturulur.

3. Session Verisi Okuma

Oturum başlatıldıktan sonra, oturuma kaydedilen veriler $_SESSION süper global dizisinden okunabilir.

Örnek:

session_start(); // Oturumu başlat if(isset($_SESSION["kullanici_adi"])) { echo "Kullanıcı adı: " . $_SESSION["kullanici_adi"]; } else { echo "Oturumda kullanıcı adı bulunamadı."; }

Bu kod, oturumda daha önce saklanmış olan kullanıcı adını kontrol eder ve ekrana yazdırır.

4. Session Verisi Silme

Oturum değişkenlerini silmek için unset() fonksiyonu kullanılabilir. Ayrıca tüm oturum verilerini silmek için session_unset() fonksiyonu kullanılabilir.

Belirli Bir Değişkeni Silme:

session_start(); // Oturumu başlat // Belirli bir oturum değişkenini sil unset($_SESSION["kullanici_adi"]);

Tüm Oturum Değişkenlerini Silme:

session_start(); // Oturumu başlat // Tüm oturum değişkenlerini temizle session_unset();

5. Session Sonlandırma (Yok Etme)

Bir oturumu tamamen sona erdirmek için session_destroy() fonksiyonu kullanılır. Bu, oturuma ait tüm verileri sunucudan siler, ancak session_destroy() çerezleri otomatik olarak temizlemez.

Örnek:

session_start(); // Oturumu başlat // Oturumu sona erdir session_destroy(); echo "Oturum sona erdirildi.";

Bu kod, oturumu sona erdirir ve oturuma ait tüm veriler silinir.

6. Session ve Güvenlik

  • Session Hijacking: Oturum kimliği (session ID) çalınarak kullanıcının oturumu kötüye kullanılabilir. Bu nedenle, oturum kimliği güvenli bir şekilde yönetilmelidir.

  • HTTPS Kullanımı: Eğer mümkünse, oturum kimlikleri yalnızca güvenli bağlantılarda (HTTPS) gönderilmelidir. Bunu sağlamak için oturumu başlatırken secure bayrağı kullanılır.

  • Session Fixation: Bir saldırganın sabit bir oturum kimliği ile bir kullanıcıyı kandırarak o oturumu ele geçirmesi durumudur. Bu riskten korunmak için oturum kimliğini önemli işlemlerden sonra yenilemek iyi bir uygulamadır. PHP’de session_regenerate_id() fonksiyonu ile oturum kimliği yenilenebilir.

session_start(); // Oturumu başlat // Oturum kimliğini yenile session_regenerate_id(true);

7. Session Ayarları

Oturumlarla ilgili bazı ayarlar php.ini dosyasında veya kod içerisinde yapılabilir:

  • session.gc_maxlifetime: Bir oturumun ne kadar süreyle geçerli olacağını belirler.
  • session.cookie_lifetime: Oturum çerezi ne kadar süre boyunca saklanacak.
  • session.use_cookies: Oturum için çerez kullanılacak mı.
// Kod içinde oturum ayarı yapmak ini_set('session.cookie_lifetime', 3600); // 1 saat boyunca çerez geçerli olacak

8. Oturumun Avantajları ve Kullanım Alanları:

  • Kullanıcı Oturumları: Kullanıcıların giriş yapıp yapmadığını kontrol etmek ve oturum boyunca verileri saklamak.
  • Sepet Yönetimi: E-ticaret sitelerinde kullanıcıların sepet bilgilerini oturum süresince saklamak.
  • Çok Aşamalı Formlar: Birden fazla adımdan oluşan formlarda, verileri her adımda oturumda saklayarak form sürecini yönetmek.

PHP oturumları, kullanıcılar arası veriyi izlemek, kullanıcı girişini doğrulamak ve oturum bilgilerini saklamak için etkili ve güvenli bir yöntem sunar. Özellikle sunucu tarafında saklandığı için çerezlere göre daha güvenli bir seçenek olarak kabul edilir.



Yorum Ekle

Üzerine gel