<?php
class OturumYoneticisi{
private $id;
private $giris;
private $sonIslem= null;
private $pasiflikSuresi = 300;
public function OturumYoneticisi(){
session_start();
}
public function oturumKayit($id, $giris){
$this->id = base64_encode($id);
$this->giris = base64_encode($giris);
$this->sonIslem = date("Y-m-d H:i:s");
$_SESSION['id'] = $this->oturumIdGetir();
$_SESSION['kullaniciGiris'] = $this->kullaniciGirisGetir();
$_SESSION['sonIslem'] = $this->sonIslemGetir();
}
public function oturumDogrula(){
if(!isset($_SESSION['id'])|| !isset($_SESSION['kullaniciGiris'])){
header("Location: ?durum=reddedildi");
}
if(!$this->aktiflik( $_SESSION['sonIslem'])){
header("Location: ?durum=zamanasimi");
}
return true;
}
private function aktiflik($sonIslem){
$simdi = date("Y-m-d H:i:s");
$fark = (strtotime($simdi) - strtotime($sonIslem));
if($fark >= $this->pasiflikSuresiGetir()){
return false;
}
else{
$_SESSION['sonIslem'] = $simdi;
return true;
}
}
public function oturumuBitir(){
$_SESSION = [];
session_destroy();
}
public function oturumIdGetir(){
return $this->id;
}
public function kullaniciGirisGetir(){
return $this->giris;
}
public function pasiflikSuresiGetir(){
return $this->pasiflikSuresi;
}
public function sonIslemGetir(){
return $this->sonIslem;
}
}
$s=new OturumYoneticisi;
$id=1;
$giris="admin";
$s->oturumKayit($id, $giris);
var_dump($s->oturumDogrula());
var_dump($s->oturumIdGetir());
var_dump($s->kullaniciGirisGetir());
var_dump($s->pasiflikSuresiGetir());
var_dump($s->sonIslemGetir());
print_r($_SESSION);
$s->oturumuBitir();
print_r($_SESSION);
?>
Çıktısı
bool(true)
string(4) "MQ=="
string(8) "YWRtaW4="
int(300)
string(19) "2018-06-10 14:09:25"
Array
(
[id] => MQ==
[kullaniciGiris] => YWRtaW4=
[sonIslem] => 2018-06-10 14:09:25
)
Array
(
)