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 veri saklama yöntemidir (değişkenleri kullanarak), böylece tarayıcı bunu birden fazla web sayfasında kullanabilir.
- Çerezlerin aksine, veriler kullanıcının sisteminde tutulmaz.
- Oturum değişkenleri mevcut kullanıcı hakkında veri içerir. Tek bir web uygulamasında yer alan tüm sayfalara kabul edilebilirler.
- Oturum verileri kalıcı değildir, ancak veritabanlarını kullanarak belirli kullanıcılar için kalıcı kullanıcı verilerini yükleyebilirsiniz.
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:
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>
Səbuhi Bayramov 28/06/2021
yönetici 01/07/2021
Mehmet 12/07/2021
yönetici 14/07/2021
<?php
$_SESSION['timeout'] = time();
?>
sonraki istekte, önceki isteklerini ne kadar süre önce yaptıklarını kontrol edin (bu örnekte 2 dakika)
<?php
if ($_SESSION['timeout'] + 10 * 60 < time()) {
// Oturum zaman aşımına uğradı sessionları sil
session_unset();
session_destroy();
header("Location:login.php");
} else {
// session ok
}
?>
Sadık 30/12/2022
yönetici 02/01/2023
- HTML
- CSS
- PHP
- JQUERY
- PHOTOSHOP
- JavaScript
- Web Dünyası
- Linux
- MİTHRİL FRAMEWORK
- Laravel
- Git
- React
- HTML LİNK(Bağlantı)EKLEME - LİNK VERME
- HTML YAZI VE RESİM ORTALAMA
- HTML RESME LİNK VERME
- HTML FORM OLUŞTURMA
- CSS YATAY MENÜ YAPIMI
- HTML RESİM EKLEME
- CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
- HTML DİV ve SPAN NEDİR?
- HTML ARKAPLANA MÜZİK EKLEME
- KALİTE KAYBETMEDEN RESİMLERİ BÜYÜTME