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

PHP
40 lines
<?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");
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
2 lines
153001689518430
7c93ad34f4d467fa10a2306618b856d41843715199
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Session ile Oturum Kontrolü Sınıfı

PHP
102 lines
<?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);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

PHP
29 lines
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
)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Önemli Ortak Kullanılabilecek Komutlar

PHP
18 lines
<?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();
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX