PHP kursunun 4. haftasında Sessions konusuna yoğunlaştık. $_SESSIONS, en kaba anlatımla PHP’nin iki çalışması arasında bilgi tutmaya yarayan PHP’nin kendi içerisine gömülü bir çeşit mekanizmadır.
Bu mekanizmanın nasıl kullanıldığı, mekanizmaya neden ihtiyaç kullanıldığı ve arka planda neler döndüğü konusunda durduk bu hafta. Yetmedi, bu mekanizma üzerinden çıkabilecek güvenlik açıklarını uygulamalarıyla birlikte gördük, önlemimizi aldık.
Bu haftanın slaytına ve kod örneklerine bu yazının sonundan ulaşabilirsiniz. Gelecek hafta PHP’de veri tabanı kullanımı ile derse devam edeceğiz.
Dönem Sonu Projesi
Daha önce duyurusunu yapmış olduğum bitirme projesini de bu yazıya koyuyorum. Açıklamaları içinde mevcut. Daha fazla ayrıntı istemeniz halinde derste konuşuruz.
Herkese iyi günler.
Dosyalar
Kodlar
Örnek kaynak kodlarını doğrudan web sitesinden incelemek isteyenler yazının devamına bakabilirler.
example-sessions.php
<?php session_start(); if(isset($_SESSION['views'])) { $_SESSION['views'] = $_SESSION['views']+ 1; } else { $_SESSION['views'] = 1; } echo "views = ". $_SESSION['views']; ?>
example-sessions-security.php
<?php /* ÖNEMLİ: Bu program parçası güvenlik açığı içerir, sadece eğitim amaçlı kullanılmalıdır! */ ini_set ("session.use_only_cookies", "0"); session_start(); if(isset($_SESSION['views'])) { $_SESSION['views'] = $_SESSION['views']+ 1; } else { $_SESSION['views'] = 1; } echo "views = ". $_SESSION['views']; ?>
example-sessions-starting.php
<?php ob_start(); $_SESSION["deneme"] = 'session_start kullanmadan önce bir değer atamak istiyorum. Ama bu nereye kaydolacak?'; /* Session ID ile id ataması session_starttan önce yapılmalıdır. Eğer böyle bir atama yapılmazsa (ki ne gerek var?) PHP rastgele bir değer atacaktır. */ echo "<br />Session ID: ". session_id(); /* Bu satır henüz session başlamadığı için bir veri döndürmez. */ echo "<br />Session Name:". session_name("SEMSIPASAPASAJI"); /* Bu satır ile varsayılan PHPSESSID değerini değiştirmek mümkündür. Bu değişiklik session_starttan önce yapılmalıdır. */ echo "<br />"; echo "<br /> Session Başladı"; session_start(); /* Kullanıcı için bir kimlik numarası belirlenir. (eğer session_id ile belirlenmişse, bu değer kullanılır.) Bu kimlik numarası kullanıcıya gönderilmek üzere cookielere eklenir. Sessionların sunucu üzerinde tutalacağı klasörde session bilgilerini tutacak bir dosya oluşturularak $_SESSIONS süper değişkeni ilklenir. */ /* Bu noktadan sonra aşağıdaki iki fonksiyon ile sadece değer öğrenilir. Değişiklik yapılamaz. */ echo "<br />Session ID:". session_id(); echo "<br />Session Name:". session_name(); echo "<br />"; echo "<br />"; if(isset($_SESSION['views'])) { $_SESSION['views'] = $_SESSION['views']+ 1; } else { $_SESSION['views'] = 1; } echo "views = ". $_SESSION['views']; echo '$_SESSION["deneme"]:' . $_SESSION["deneme"]; echo "Vardump: " . var_dump($_SESSION); echo "Vardump: " . var_dump($_SERVER); /* session_unset(); // Deneyin. echo "<br />views = ". $_SESSION['views']; */ ob_end_flush(); ?>
‘de, da’ eki nasıl yazılır?
Almanya’da nasıl ehliyet aldım?
Almanya’dan kalıcı oturuma izni (niederlassungserlaubnis) nasıl alınır?
PHP ve alt satır
Almanya’da nasıl ehliyet aldım?
Bir şirket neden uzaktan çalışmaya (remote working) izin verir?
-de -da eki ne zaman ayrı yazılır?
Almanya’ya gelmek için yapılan bürokratik işlemler