İnternet, bilgi, bilişim güvenliğine dair her türlü karalamalara sahiplik yapan kişisel bir blog.

Codeigniter session kullanımı

Merhaba arkadaşlar. Bu yazımda Codeigniter’da session kullanımına yönelik anlatımlarda bulunacağım. Session her zaman için cookie’den daha sağlıklı ve güvenli çalışan yöntemdir. Arasındaki farklara konumun devamında yazacağım.

Öncelikli olarak projenizde sıkça session ile çalışacaksanız autoload dosyasının libraries kısmına session’u eklemeniz iyi olacaktır. Böylece her kontrol dosyasında yada model de load etmenize gerek kalmayacaktır.

config klasöründeki autoload.php dosyasını açınız. $autoload[‘libraries’] = array(”); kısmını aşağıdaki gibi yapınız.

1.Session oluşturma

Projenizde bir üye girişi kısmı yaptınız diyelim. Kontrollerinizi sağladınız. Şimdi sıra sunucu tarafında oturum bilgilerini saklamakta kaldı.

Codeigniter’da set_userdata ile session yaratıyoruz. Ben aşağıdaki kadı ve şifre adında 2 adet session oluşturdum. Kadı’na Mustafa, şifre değerine ise 123456 şeklinde değerler tanımladım. İsterseniz siz direkt veritabanından aldığınız değerleri session tanımlarken kullanabilirsiniz Örneğin $this->session->set_userdata(‘kadi’, $kadi); şeklinde.

2.Session kontrol etme

Alt sayfalarınızda bu yöntemi kullanabilirsiniz. Sessionlarımızı yukarıda oluşturduk. Şimdi kadi ve sifre session değerleri dolu. Bunların boş olduğu durumda ise kullanıcıya tekrar giriş yapmasını isteyebilirsiniz. Mevcut sessionların değerlerine de userdata ile ulaşıyoruz. Aşağıdaki kodun $kadi değişkeni “Mustafa”, şifre değişkeni ise “123456” oldu.

3.Session öldürme

Peki bu oluşturduğumuz sessionları nasıl sileriz. Yani örneğin bir çıkış işlemi yaptıralım sistemizde. Bunun için de unset_userdata yı kullanıyoruz. Çıkış işlemi için aşağıdaki 2 satır kod ile oluşturulan sessionları temizleyebilirsiniz.

Peki cookie ile session arasındaki farklar nelerdir ?

  • Cookie’ye kaydedilen veriler kullanıcının tarayıcısında (browser), session’a kaydedilenler ise server tarafında depolanır.
  • Cookie kullanıcı silene kadar yada cookie’yi yazan kişinin belirttiği tarihe kadar depolanır. Session ise tarayıcı kapandığı an biter.
  • Cookie kullanıcı tarafından editlenebilir. Session’da böyle birşey söz konusu değildir. Çünkü server tarafında saklanır.

Mustafa

2004 yılından bu yana Web ve Bilgi Güvenliği üzerine araştırmalarda bulundum. Çok sayıda yerli yada yabancı websitelerinde bulunan zaafiyetleri ilgililere göndererek kapatılmasını sağladım. Octosec ailesindenim. Siber Güvenlik Eylem Planı kapsamında TSE Kayıtlı Sızma Uzmanı sertifikam bulunmaktadır.

2 Comments

  1. Gereksiz bilgilerden uzak çok sade anlatmışsınız. Teşekkür ederim.

Leave a Reply