Session hijack te nasıl güvenlik sağlarız ona değinecem.Öncelikle session hijack ne ona bakalım.Bu oturum çalma yöntemidir.Sitenizde session kullanıyorsanız her kullanıcıya ait sessionid i vardır.Biri diğerininkini çalıp değiştirirse oturum onundur artık.Bu yazımda nasıl önlem alırız ona anlatacam.
Şimdi veri tabanında kullanıcıları sakladığınız yere 1 alan daha ekleyin.Tipi varchar olsun.Kullanıcı giriş yaptığında
$_SERVER['REMOTE_ADDR'];
ile ip adresini alın ve veri tabanında oluşturduğumuz alana bunu koyun.
Daha sonra her sayfada bu değeri çekin ve kullanıcının ip sini alın ve karşılaştırın.Eğer eşleşmezlerse oturum çalınmıştır demektir ve hemen oturumu sonlandırın.
Genel örnek :
<?php session_start(); ?> <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>WebsteR</title> </head> <body> <?php $veritabani_ip="127.0.0.1"; if($veritabani_ip != $_SERVER['REMOTE_ADDR']){ echo "oturum çalınmış..."; session_destroy(); }else{ if(!isset($_SESSION["ad"])){ $_SESSION["ad"]="WebsteR"; echo $_SESSION["ad"]; }else{ echo $_SESSION["ad"]; } } ?> </body> </html>
Yukarda ne yaptık ona bakalım.Veri tabanı diye değişken yaratıp ip atadım bunu siz veritabanından alacaksanız.Sonra bunu ipimizle karşılaştırıp eşleşmesse oturumu kapat dedim.