lostyazilim
tr.link

Güvenli beni hatırla sistemi yapımı

24 Mesajlar 2.206 Okunma
acebozum
tr.link

yazilimsoru yazilimsoru Yazilimsoru.com Kullanıcı
  • Üyelik 05.03.2018
  • Yaş/Cinsiyet 26 / E
  • Meslek Web developer
  • Konum İstanbul Avrupa
  • Ad Soyad İ** K**
  • Mesajlar 437
  • Beğeniler 132 / 131
  • Ticaret 0, (%0)
Mrtcn tarayıcı kapatıldığı zaman sessionlar siliniyor.
 

 

Web sitem: yazilimsoru.com
elektronikssl
webimgo

60423 60423 WM Aracı Anonim Üyelik
  • Üyelik 14.02.2016
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 1503
  • Beğeniler 584 / 496
  • Ticaret 20, (%100)
https://stackoverflow.com/questions/3645322/how-can-i-create-a-secured-remember-me-system-using-php

burada çıklanmış zannımca.
yazilimsoru

kişi bu mesajı beğendi.

yazilimsoru yazilimsoru Yazilimsoru.com Kullanıcı
  • Üyelik 05.03.2018
  • Yaş/Cinsiyet 26 / E
  • Meslek Web developer
  • Konum İstanbul Avrupa
  • Ad Soyad İ** K**
  • Mesajlar 437
  • Beğeniler 132 / 131
  • Ticaret 0, (%0)
OmerAYDINOGLU Nasıl yapabilirim?
 

 

Web sitem: yazilimsoru.com

60423 60423 WM Aracı Anonim Üyelik
  • Üyelik 14.02.2016
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 1503
  • Beğeniler 584 / 496
  • Ticaret 20, (%100)


attığım linki inceleyerek anlayabilirsiniz hocam aşağıdaki kod ile cookie set ediyoruz sonra onu validate ediyoruz.

$expire_time = time() + 2 * 7 * 24 * 3600; // 2 weeks exp time

setcookie(
"rememberMe",
crypt($username, $salt),
$expire_time,
'/'
);



validate kısmı

$_COOKIE['rememberMe'] === crypt($username, $salt)
 

 

wmaraci
wmaraci

MuhammedArslan MuhammedArslan Msa Web Tasarım Kullanıcı
  • Üyelik 19.02.2017
  • Yaş/Cinsiyet 24 / E
  • Meslek Web Developer
  • Konum Bursa
  • Ad Soyad M** A**
  • Mesajlar 933
  • Beğeniler 136 / 276
  • Ticaret 11, (%100)
Eski bir projem için hazırlamıştım. Veritabanı işlemlerinde sınıf kullanmışım, o kodları pdo'ya göre değiştir. Direk kopyala yapıştır yaparsan sınıf hatası verecektir. Umarım biraz örnek olur.

Güvenlik konusunda ek olarak tokeni 5 dk'da bir hem çerezde hem de veritabanında değişmesini sağlayabilirsin. Ama bu sunucuya ek yük bindirecektir. Bunun dışında kullanıcı yeniden giriş yaptığında token zaten değişecektir.

Eğer beni hatırla seçiliyse;

if ( @$remember_me == '1' ) {

$remember_token = bin2hex(openssl_random_pseudo_bytes(64));

setcookie("token", $remember_token , time()+60*60*24*7, '/login',null,false,true );

//Varsa önceki tokenleri sil
$affected = DB::exec("DELETE FROM remember_me WHERE user_token='$user->user_token' ");

$id = DB::insert(
'INSERT INTO remember_me (user_id, remember_token,date) VALUES ( ?, ?,?)',
array($user_id,$remember_token, time() )
);

}



Login sayfasının başına;

if ( @$_COOKIE["token"] != "" ) {

$tok = $_COOKIE['token'];



$name = DB::getVar("SELECT user_token FROM remember_me WHERE remember_token = '$tok' LIMIT 1");

if ( $name != "" ) {


$user = DB::getRow("SELECT * FROM general_users WHERE user_token='$name' LIMIT 1");

if ( @$user->id == "" ) { setcookie("token", 'invalid'); header("Location:/"); die(); }


$_SESSION['oturum'] = 'active';
$_SESSION['user_token'] = $user->user_token;
$_SESSION['user_name'] = $user->user_name;
$_SESSION['user_payment_status'] = $user->user_payment_status;
$_SESSION['user_email_status'] = $user->user_email_status;
$_SESSION['user_type'] = $user->user_type;

header("Location:/");
}
}
yazilimsoru

kişi bu mesajı beğendi.

yazilimsoru yazilimsoru Yazilimsoru.com Kullanıcı
  • Üyelik 05.03.2018
  • Yaş/Cinsiyet 26 / E
  • Meslek Web developer
  • Konum İstanbul Avrupa
  • Ad Soyad İ** K**
  • Mesajlar 437
  • Beğeniler 132 / 131
  • Ticaret 0, (%0)
mrarslan hocam kodları kendime göre düzenleyip deneyeceğim.
 

 

Web sitem: yazilimsoru.com

NumanABi NumanABi --> numanozdemir.com <-- Kullanıcı
  • Üyelik 02.09.2016
  • Yaş/Cinsiyet 34 / E
  • Meslek -
  • Konum Kırıkkale
  • Ad Soyad N** Ö**
  • Mesajlar 1417
  • Beğeniler 380 / 442
  • Ticaret 21, (%95)
Session'u destroy etmedikçe ve cookie'yi expire etmedikçe zaten dolaylı olarak beni hatırla dedirmiş oluyorsun. :) Kullanıcı adı ve şifresini içeren özel bir algoritmayla şifreleyip cookie'lerde tutabilirsin ya da session'da da tutabilirsin.
yazilimsoru

kişi bu mesajı beğendi.

xGhos xGhos Yazılım Geliştirici Kullanıcı
  • Üyelik 30.01.2014
  • Yaş/Cinsiyet 27 / E
  • Meslek YAZILIM &amp; SEO
  • Konum İstanbul Anadolu
  • Ad Soyad O** T**
  • Mesajlar 466
  • Beğeniler 38 / 75
  • Ticaret 5, (%100)

Mrtcn adlı üyeden alıntı

Oturumu sürekli açık tut olayı için tarayıcıya session yazarken süreyi uzun tut yeter. Ek birşeye gerek yok


session süreli değildir, tarayıcıyı kapattığınızda silinir.
yazilimsoru

kişi bu mesajı beğendi.

Mrtcn Mrtcn PrismaCSI Kullanıcı
  • Üyelik 06.09.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Cyber Sec &amp; Project Manager
  • Konum Ankara
  • Ad Soyad M** G**
  • Mesajlar 3356
  • Beğeniler 481 / 1987
  • Ticaret 10, (%100)

xGhos adlı üyeden alıntı

session süreli değildir, tarayıcıyı kapattığınızda silinir.


Session Kullanımına göre değişir.
yazilimsoru

kişi bu mesajı beğendi.

yazilimsoru yazilimsoru Yazilimsoru.com Kullanıcı
  • Üyelik 05.03.2018
  • Yaş/Cinsiyet 26 / E
  • Meslek Web developer
  • Konum İstanbul Avrupa
  • Ad Soyad İ** K**
  • Mesajlar 437
  • Beğeniler 132 / 131
  • Ticaret 0, (%0)
NumanABi Session'u destroy etmiyorum fakat tarayıcıyı kapatınca direkt olarak çıkış yapıyor. Mrtcn Kullanıma göre değişir derken yani tarayıcı kapatılsa bile hala session duruyor mu ?
 

 

Web sitem: yazilimsoru.com
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al