Benzersiz Oturum Kimliği Oluşturma Sınıfı

<?php
class benzersizOturumKimligi{
var $ip;
var $karaktersil;
	function benzersizOturumKimligi($mod = "normal"){
	global $X_HTTP_FORWARDED_FOR, $REMOTE_ADDR;
	$this->karaktersil = ".";
		if(!isset($X_HTTP_FORWARDED_FOR)){
			$this->ip = $REMOTE_ADDR;
		}else{
			$this->ip = $X_HTTP_FORWARDED_FOR;
		}
		if($mod == "gelismis"){
	    	return $this->karakterkaldir(md5(time().$this->ip).$this->rand_num($mod), $this->karaktersil);
		}else{
	    	return $this->karakterkaldir(time().$this->ip.$this->rand_num($mod), $this->karaktersil);
		}
	}
	function karakterkaldir($metin, $karakter, $y = ""){
		$m = explode($karakter, $metin);
		while(list($anahtar, $deger) = each($m)){
			$y.= $deger;
		}
	return $y;
	}
	function rand_num($mod){
		if($mod == "gelismis"){
	    	srand ((double)microtime()*1000000);
	    	return rand(getrandmax()/2000, getrandmax()).rand();
		}
		else{
		    srand ((double)microtime()*1000000);
	    	return rand();
		}
	}
}
$sess = new benzersizOturumKimligi;
echo $sess->benzersizOturumKimligi()."<br>";                      
echo $sess->benzersizOturumKimligi("gelismis");
?>

Çıktısı

153001689518430
7c93ad34f4d467fa10a2306618b856d41843715199

 

Session ile Oturum Kontrolü Sınıfı

<?php
define("win_session_save_path","c:\\temp");
define("linux_session_save_path","/tmp");
class oturum{
	var $_otrm;
	var $_yol;
	function oturum($start=false){
    if($start){
      $this->_ilk_oturum();
    }
  }
	function _ilk_oturum(){
		$this->_yol = ini_get('session.save_path');		
		if(!is_dir($this->_yol)){
			if(preg_match("/win/",strtolower(PHP_OS))){
				ini_set("session.save_path",win_session_save_path);
				@mkdir(win_session_save_path);
			}elseif(preg_match("/linux/",strtolower(PHP_OS))){
				ini_set("session.save_path",linux_session_save_path);
				@mkdir(linux_session_save_path,0700);
			}
		}				
		$this->limitleyici();
		$this->zaman_asimi(1);
    session_start();
	}
	function oturum_temizle(){
		session_unset();
	}
	function oturum_bitir(){
		session_destroy();
	}
	function oturum_id(){
		return session_id();	
	}
	function oturum_ekle($isim,$deger){
		$_SESSION[$isim] = $deger;
	}
	function oturum_duzenle($isim,$deger){
		$_SESSION[$isim] = $deger;
	}
	function oturum_sil($isim){		
		unset($_SESSION[$isim]);
	}
	function oturum_al($isim){
		if(isset($_SESSION[$isim])){
			return $_SESSION[$isim];
		}
	}
	function oturum_kontrol($isim){
		return isset($_SESSION[$isim]) ? true : false;
	}
	function oturum_liste(){
		return array_keys($_SESSION);
	}
	function oturum_dizin(){
		return $this->_yol;
	}
	function oturum_sayac(){
		$i=0;
		if(is_dir($this->_yol)){
			if($dir=opendir($this->_yol)){
				while (false !== ($file = readdir($dir))) { 
					if(preg_match("/otrm_/",$file)){ 
						$i++;
					}
				}
			}
		}
		return $i;
	}
	function zaman_asimi($beklet=30){
		session_cache_expire($beklet);
	}
	function limitleyici($limit='nocache'){
		session_cache_limiter($limit);
	}
}
$s=new oturum(true);
$s->oturum_ekle("kullanici","admin");
$s->oturum_ekle("sifre","123456");
print_r($_SESSION);
$s->oturum_sil("sifre");
print_r($_SESSION);
$s->oturum_temizle();
print_r($_SESSION);
$s->oturum_duzenle("kullanici","admin2");
print_r($_SESSION);
echo "<br>";
print_r($s->oturum_id());
echo "<br>";
print_r($s->oturum_al("kullanici"));
echo "<br>";
var_dump($s->oturum_kontrol("kullanici"));
print_r($s->oturum_liste());
print_r($s->oturum_dizin());
echo "<br>";
print_r($s->oturum_sayac());
$s->oturum_bitir();
echo "<br>";
print_r($_SESSION);
?>

Çıktısı

Array
(
    [kullanici] => admin
    [sifre] => 123456
)
Array
(
    [kullanici] => admin
)
Array
(
)
Array
(
    [kullanici] => admin2
)
gk7ahgmgto155qvda12rthr0h0
admin2
bool(true)
Array
(
    [0] => kullanici
)
C:\PROGRA~1\EASYPH~1.1VC\\binaries\tmp
0
Array
(
    [kullanici] => admin2
)

 

Önemli Ortak Kullanılabilecek Komutlar

<?php
ob_start();//html boşluklarını sıkıştırma
session_start();//oturum başlatma
header('Content-Type: text/html; charset=utf-8');//karakter seti seçimi
header("Cache-Control: no-cache, must-revalidate"); //önbellek almamak için
error_reporting (E_ERROR | E_WARNING | E_PARSE);//hataları göstermek için
set_time_limit(0);//zaman aşımı önlemek için
extract($_POST,EXTR_SKIP); //$_POST["id"] yi $id'ye çevirir
extract($_GET,EXTR_SKIP); //$_GET["id"] yi $id'ye çevirir
extract($_COOKIE,EXTR_SKIP);//$_COOKIE["id"] yi $id'ye çevirir

/*
sayfa içeriği
*/


ob_end_flush();
?>