sağlayan, güvenli bir php giriş sistemi oluşturmak için nasıl "beni tutmak kaydedilir"

3 Cevap php

Ben OTURUM vars dayanan basit bir giriş sistemi kullanın. Kullanıcı günlükleri, bir kez oturum var ben herhangi bir özel clientside çerez var kullanmak yok içeri kullanıcı kabul edilecek benim komut söyler ayarlanır.

Ben "bütün gün beni loggued tutmak" diyor giriş ekranında seçeneği sunmak istiyorum. Nasıl bir güvenli bir şekilde bunu yapar?

3 Cevap

Eğer "Beni bütün gün giriş tutmak" derken doğru, sadece belirli bir makinedeki demek farz ediyorum? Sen giriş zamanı ', ya da bütün gün açmış kendilerini korumak için seçerseniz o oturum artık geçerli olacağı bir zaman damgası hatırlamak için bir mysql tablo kullanabilirsiniz. Sonra oturumu vars o kullanıcının kimliği alır kodunuzu başında bazı komut dosyası ekleyebilirsiniz. Saklanan 'son geçerli ts karşı' o kullanıcının mevcut damgası karşılaştırmak ve o zaman geçmiş ise, onlar size oturumu silin ve tekrar giriş yapmak için kullanıcı kuvvet hangi noktadan dışarı günlüğe gerektiğini biliyorum. Bu yöntem, denemek ve bu noktada geçmiş bir şeyler yapmak kadar aslında dışarı günlüğe olmayacak, ancak onlara bu gibi görünüyor anlamına gelir. Ayrıca, yerine mysql DB kullanarak daha aynı zamanda da bir oturum değişkeni o son geçerli TS depolayabilir.

Kullanıcı ile ilk açtığında Yani, örneğin "ben seçilmiş bütün gün giriş tutmak":

$_SESSION['log_me_out_at'] = strtotime(date("Y-m-d ")."23:59:59");

Sonra her zaman bir sayfa sisteminizde erişilir:

if( $_SESSION['log_me_out_at'] < time() ){
  unset($_SESSION['user_is_accepted_in']);
}

Bir seçenek oturum değişkenleri kaydeder ve IP adresleri ve bir sona erme ile ilişkilendiren bir MySQL tablo kurmak için olabilir, ama ben bu uygulamaya nasıl olacağı ile ilgili tüm detayların emin değilim.

Basit aradığınız ne yolu sitenizin daha sonra kontrol edecek bilgisayarda kullanıcı adı ve şifre ile bir $_COOKIE ayarlamak olacaktır (not önerilir gerçi) kullanıcı imzaladığında.

For added security, daha iyi olurdu kullanıcının hesap verileri hakkında bir potansiyel korsan az bilgi vermek amacıyla kullanıcının verilerinin bir tuzlu MD5 hash olarak sadece bir çerez kaydetmek için görev yaptı. Eğer çerez ayarladığınızda süresi ayarlanabilir; php.net bunu nasıl makul tam belgelerine sahiptir.