PHP Session (Oturum yönetimi)

Çerezleri kullanarak veri depolayabilseniz de, bazı güvenlik sorunları var. Çerezler kullanıcının bilgisayarında saklandığından, bir saldırganın, uygulamanızı bozabilecek olası zararlı veriler eklemesi için bir çerez içeriğini kolayca değiştirmesi mümkündür.

Tarayıcı sunucuya bir URL istediğinde, bir web sitesinin tüm çerez verileri otomatik olarak istek içinde sunucuya gönderilir. Her biri 4KB büyüklüğünde olan ve her biri 4KB büyüklüğünde bir kullanıcı çerezini kullanıcı sistemine sakladıysanız, kullanıcının sitenizi performansını etkileyebilecek bir sayfayı her görüntülediğinde tarayıcının 20KB veri yüklemesi gerektiği anlamına gelir.

Bu iki sorunu da PHP oturumunu kullanarak çözebilirsiniz. Bir PHP oturumu, verileri kullanıcının bilgisayarından ziyade sunucuda depolar. Oturuma dayalı bir ortamda, her kullanıcı oturum tanımlayıcısı veya SID adı verilen benzersiz bir numarayla tanımlanır. Bu benzersiz oturum kimliği, her kullanıcıyı, e-postalar, gönderiler vb... Gibi sunucudaki kendi bilgileriyle ilişkilendirmek için kullanılır.

Aktif bir İnternet kullanıcısıysanız, Kullanıcı bilgi ve şifresi istenen önemli ticari sitelerde muhtemelen şu ifadeyi gördünüz: Bir sayfayı yeniden açtığınızda uzun süre işlem yapılmadığında Oturumunuzun süresi doldu diye uyarı verilir. Sonuç olarak, otomatik olarak giriş yapmazsanız ve belirli bir web sayfasının işlevleri artık kullanılamaz.

PHP oturumu geçici olarak bir sayfadan diğerine bilgi depolamak ve aktarmak için kullanılır (kullanıcı web sitesini kapatıncaya kadar). Şimdi değişkenler biçiminde tutulan bu veriler geçici olarak sunucuda saklanmaktadır. Tarayıcının penceresini veya sekmesini kapattığınızda, oturum bitecektir.

PHP oturum tekniği, alışveriş sayfalarında, alışveriş sepetindeki bilgileri depolamak ve iletmek zorunda olduğumuz alışveriş merkezlerinde kullanılır, örneğin kullanıcı adı, ürün kodu, ürün adı, ürün fiyatı vb. Bir sayfadan diğerine geçiş sağlar.

PHP oturumu, kullanıcıyı tanımak ve birden çok tarayıcı arasındaki uyuşmazlığı önlemek için her bir tarayıcı için benzersiz bir kullanıcı kimliği oluşturur.

İpucu: Oturum kimlikleri, rastgele tahmin edilmesi imkansız olan PHP motoru tarafından rastgele oluşturulur. Ayrıca, oturum verileri sunucuda depolandığından, her tarayıcı isteğiyle birlikte gönderilmesi gerekmez.

PHP Oturumları: Ana İpuçları

Bir Oturum Başlatmak


Bir PHP oturumu, session_start() fonksiyonu çağrı yapılmasıyla kolayca başlatılır. Bu fonksiyon ilk önce bir oturumun başlatılıp başlatılmadığını denetler ve hiçbiri başlatılmadıysa oturum başlatır. Aramayı sayfanın başında session_start() fonksiyonu başlatmanız önerilir.

Aşağıdaki örnekteki PHP kodu sadece yeni bir oturum başlatır.


<?php

// oturum başlatır
session_start();

?>

Önce session_start() fonksiyonu, bir oturum kimliğinin varlığına bakarak bir oturumun mevcut olup olmadığını kontrol eder. Bir tane bulursa, yani oturum zaten başlatılmışsa, oturum değişkenlerini ayarlar ve eğer yoksa, yeni bir oturum kimliği oluşturarak yeni bir oturum başlatır.

Oturum Verilerini Saklama ve Erişim


Tüm oturum verilerinizi $_SESSION[] süper küresel dizide anahtar - değer çiftleri olarak saklayabilirsiniz. Saklanan verilere bir oturumun ömrü boyunca erişilebilir. Yeni bir oturum oluşturan ve iki oturum değişkenini kaydeden aşağıdaki örneğe bakın.


<?php
// Oturum başlatmak
session_start();
 
// Oturum verilerini kaydetme

$_SESSION["ad"] = "Fatih";
$_SESSION["soyad"] = "Sultan Mehmet";
?>
	

Önceki örneğimizde belirlediğimiz oturum verilerine aynı web alanındaki herhangi bir sayfadan erişmek için - sadece arayarak oturumu yeniden oluşturun session_start() ve karşılık gelen anahtarı $_SESSION ilişkisel diziye iletin.


<<php

// Oturum başlatmak
session_start();
 
// oturum başlatmak
echo 'Merhaba, ' . $_SESSION["ad"] . ' ' . $_SESSION["soyad"];
?>

ÇIKTI:

Merhaba Fatih Sultan Mehmet

Bir Oturum Silme


Belirli oturum verilerini silmek istiyorsanız $_SESSION, aşağıdaki örnekte gösterildiği gibi, ilişkisel dizinin karşılık gelen anahtarını kaldırın.


<?php
// Oturum başlatma
session_start();
 
// Oturum verileri kaldırma

if(isset($_SESSION["ad"])){
    unset($_SESSION["ad"]);
}
?>

Tüm global oturum değişkenlerini kaldırmak için session_unset() fonksiyonunu ve oturum, kullanımını yok etmek için session_destroy() fonksiyonunu kullanın:


<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Tüm oturum değişkenlerini kaldır
session_unset(); 

// Oturumu yok et
session_destroy(); 
?>

</body>
</html>


Lütfen konu haricinde soru sormayın cevaplanmayacaktır. Yorumunuz onaylandıktan sonra yayınlanacaktır.

4497

KATEGORİ
  • HTML
  • CSS
  • PHP
  • JQUERY
  • PHOTOSHOP
  • JavaScript
  • Web Dünyası
  • Linux
  • MİTHRİL FRAMEWORK
  • Laravel
POPÜLER MAKALE
  • HTML LİNK(Bağlantı)EKLEME - LİNK VERME
  • HTML YAZI VE RESİM ORTALAMA
  • HTML RESME LİNK VERME
  • HTML DİV ve SPAN NEDİR?
  • HTML FORM OLUŞTURMA
  • HTML KAYAN RESİM VE Marguee KULLANIMI
  • HTML RESİM EKLEME
  • CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
  • HTML ARKAPLANA MÜZİK EKLEME
  • HTML KAYAN YAZI VE Marguee KULLANIMI
ETİKET
WEBCEBİR © 2013 Tüm hakları saklıdır.