lostyazilim
tr.link

Hazırladığım Session sınıfı sizce nasıl ?

13 Mesajlar 1.900 Okunma
acebozum
tr.link

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)

Bu sınıf şuanlık kullanım dışı


Dün sınıfları öğrenmek için küçük bir çalışma yaptım denedim sorun yaşamadım sizce bu sınıfta eksik olan şu burda olsa daha iyi olur diyebileceğiniz bişi var mı?
->tablo uyeler
Sütun adları
-sira
-kullanici
-sifre
-token



class session extends baglan
{

private $ses_kullanici;
private $ses_sifre;
private $sessionsira;
private $dogrulamal;
private $benzersizdogkod;
function sessional($session_kull,$session_id,$session_sifre)
{
$this->ses_kullanici = $session_kull;
$this->ses_sifre = $session_sifre;
$this->sessionsira = $session_id;
$_SESSION["giristamam"] = md5("panel_".md5($this->ses_sifre)."_c07f67cdf52ccc45f97ae996ebd0ee43");
$_SESSION["kullanici"] = $session_kull;
$kullanicial = $_SESSION["kullanici"];
$this->benzersizdogkod = md5(str_shuffle($_SESSION["giristamam"]));
$d_kodal = $this->vt->prepare("select * from uyeler where sira=:siral order by sira asc limit 1");
$d_kodal->execute(array("siral"=>$this->sessionsira));
$dogrulamakodal=$d_kodal->Fetch(PDO::FETCH_ASSOC);
if(($dogrulamakodal["token"]=="")or (empty($dogrulamakodal["token"])))
{
try
{
$dogrulamagir = $this->vt->prepare("update uyeler set token=:kodual where sira=:siral order by sira asc limit 1");
$dogrulamagir->execute(array("kodual"=>$this->benzersizdogkod,"siral"=>$this->sessionsira));
if($dogrulamagir)
{
$d_kodal = $this->vt->prepare("select * from uyeler where sira=:siral order by sira asc limit 1");
$d_kodal->execute(array("siral"=>$this->sessionsira));
$dogrulamakodal=$d_kodal->Fetch(PDO::FETCH_ASSOC);
}
}
catch(PDOException $hata)
{
echo "Giriş bilgisi yazdırılamadı hata kodu".$hata->getMessage();
}
}

$this->dogrulamal = $dogrulamakodal["token"];
return array("dkodu"=>$this->dogrulamal,"seskullanici"=>$kullanicial,"sesid"=>$session_id,"n_kod"=>$this->benzersizdogkod);
}
function sessionoldur()
{
session_destroy();
$sorgu= "update uyeler set token=:tokenal where sira=:siral order by sira asc limit 1";
try
{
$tokensil =$this->vt->prepare($sorgu);
$tokensil->execute(array("tokenal"=>"","siral"=>1));
echo "başarılı"."
";
}
catch(PDOException $hata)
{
echo "Hata ".$hata->getMessage();
}

}
}


kullanımı


$basla= new session;
$deger=$basla->sessional($_POST["kullan"],$gizle,$_POST["sifre"]);

[/PHP]
 

 

wmaraci
reklam

OzanP OzanP WM Aracı Kullanıcı
  • Üyelik 04.02.2016
  • Yaş/Cinsiyet 35 / E
  • Meslek WM
  • Konum Ankara
  • Ad Soyad O** P**
  • Mesajlar 310
  • Beğeniler 215 / 100
  • Ticaret 9, (%100)
Kodu henüz tam okumadım. (Şu an çok fırsatım yok, ama bir şey dikkatimi çekti. Uyarmak istedim.) Bana kalırsa, session ya da cookie içerisinde şifreyi açık halde asla tutmayın.
 

 

ingilizceogrenmeliyim.com

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)

OzanP adlı üyeden alıntı

Kodu henüz tam okumadım. (Şu an çok fırsatım yok, ama bir şey dikkatimi çekti. Uyarmak istedim.) Bana kalırsa, session ya da cookie içerisinde şifreyi açık halde asla tutmayın.

sağolun hocam kırmayıp incelediğiniz için yalnız şifre 3 içerikler md5 leniyor ?
$_SESSION["giristamam"] = md5("panel_".md5($this->ses_sifre)."_c07f67cdf52ccc45f97ae996ebd0ee43");
ayrıca session olarak saklanmıyor sadece oraya ait olduğunu göstermek için :) formdan gelen şifre verisi alacak o
OzanP

kişi bu mesajı beğendi.

Selmankocahal Selmankocahal WM Aracı Kullanıcı
  • Üyelik 26.08.2014
  • Yaş/Cinsiyet 44 / E
  • Meslek Serbest
  • Konum Karabük
  • Ad Soyad S** K**
  • Mesajlar 67
  • Beğeniler 24 / 5
  • Ticaret 0, (%0)
bunun yerine

$_SESSION["giristamam"] = md5("panel_".md5($this->ses_sifre)."_c07f67cdf52ccc45f97ae996ebd0ee43");




$_SESSION['giristamam'] = md5(sha1($_SERVER['REMOTE_ADDR'] . '_c07f67cdf52ccc45f97ae996ebd0ee43' . $_SERVER['HTTP_USER_AGENT']));
Bu şekilde kullanabilirsin
 

 

wmaraci
wmaraci

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)
Selmankocahal peki hocam giristamam sessionundan gelen değeri veritabanında tinytext mi ? yoksa ilk 11 karakterini alıp varchar mı olarak ekleyeyim ?


$varchar= mb_substr((md5(sha1($_SERVER['REMOTE_ADDR'] . '_c07f67cdf52ccc45f97ae996ebd0ee43' . $_SERVER['HTTP_USER_AGENT']))),0,11);
 

 

Selmankocahal Selmankocahal WM Aracı Kullanıcı
  • Üyelik 26.08.2014
  • Yaş/Cinsiyet 44 / E
  • Meslek Serbest
  • Konum Karabük
  • Ad Soyad S** K**
  • Mesajlar 67
  • Beğeniler 24 / 5
  • Ticaret 0, (%0)
Varchar kullan sana verdiğim kodun en fazla uzunluğu 32 karakter sen varcharı 50 length şeklinde yap
 

 

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)

Selmankocahal adlı üyeden alıntı

Varchar kullan sana verdiğim kodun en fazla uzunluğu 32 karakter sen varcharı 50 length şeklinde yap

sağolun :) deneyeceğim peki güvenlik bakımından nasıl ? :)
 

 

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
text yerine, sayı tabanlı sütun tipi kullanmanız daha iyi olacaktır.
 

 

www.ontedi.com
www.cizgi.site

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)
ontedi hocam api/secret key benzetmek istedim artısı nedir hocam?
 

 

OzanP OzanP WM Aracı Kullanıcı
  • Üyelik 04.02.2016
  • Yaş/Cinsiyet 35 / E
  • Meslek WM
  • Konum Ankara
  • Ad Soyad O** P**
  • Mesajlar 310
  • Beğeniler 215 / 100
  • Ticaret 9, (%100)

ismail03 adlı üyeden alıntı

sağolun hocam kırmayıp incelediğiniz için yalnız şifre 3 içerikler md5 leniyor ?
$_SESSION["giristamam"] = md5("panel_".md5($this->ses_sifre)."_c07f67cdf52ccc45f97ae996ebd0ee43");
ayrıca session olarak saklanmıyor sadece oraya ait olduğunu göstermek için :) formdan gelen şifre verisi alacak o


$this->ses_sifre = $session_sifre;

kısmında şifreyi direk session'a yazıyormuşsunuz gibi geldi. Şimdi tamam ama yine de yukarıda arkadaşın verdiği yol daha güvenlikli olabilir :)
 

 

ingilizceogrenmeliyim.com
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al