Makine kısıtlı giriş erişim

3 Cevap php

Ben giriş bilgileri tek bir seferde tek bir makineden erişilebilir böyle bir gereksinimi olan bir proje üzerinde çalışıyorum.

Web siteme size erişim izni ve sizin ev makineden giriş Örneğin, sistem bir çerez / veritabanında bu ayarları saklar. Eğer iş makinası ya da herhangi başka bir makinede aynı oturum açma bilgilerini deneyin Şimdi, sistem sisteme giriş izin vermez. Oturum artık sadece ev makineden çalışacaktır.

Bu nasıl ulaşılacağı konusunda herhangi bir öneriniz yararlı olacaktır. Eğer bana doğru işaret edebilir herhangi bir kaynak da mutluluk duyacağız.

3 Cevap

Kullanıcı tabloda fazladan tarih sütunu "logintime" çağrısında bulundular.

Kullanıcı adı / parola gönderir ve bu kullanıcı için hayır "logintime" varsa o şifreyi kontrol ettikten sonra giriş izin ve "logintime" içine şimdi zamanı yazmak.

"Logintime" zaten ayarlı ise o girişini engelleyin.

Bu (sizin örnekte 2 ay) eski aldığında "logintime" yıkayın.

Peki, bu PHP'nin oturumlar ile oldukça basittir.

Gibi bir formatta Veritabanında oturum verilerini saklamak için bir Session Handler kullanın:

Session_ID | User_ID | Session_Data | Timestamp

Eğer birisi imzalamadan önce, sonra, bu kullanıcı kimliği ile tüm oturumları silin


Pardon, ben senin soru yanlış okudum. Eğer ikinci oturumların istemiyorsanız bu USER_ID ile bir oturum zaten var ve dolmadığından, kontrol edin.

Eğer ikinci oturum birinci birini oturum istiyorsanız silme kısmı çalışır. Sonra kimse dışarı imzalamak için hatırlamak zorunda çünkü bu genellikle alınan yöntemdir. Eğer başka bir yerde oturum açarsanız, o sadece size son giriş yeri dışarı kaydeder.

PHP'nin session_set_save_handler() bakın

http://us.php.net/manual/en/function.session-set-save-handler.php

Hmm, ben ne istediğinizi tam olarak takip ediyorum emin değilim, ama kimse herhangi bir yerde günlükleri gibi bir kez, o gelecekte oturum için çalışan tek yer olmalı sesler? Bu yapmak için çalışıyoruz ne ise, sonunda muhtemelen statik IP adresleri olmayan kişiler ile bazı sorun haline çalıştırmak için gidiyoruz. Onlar aynı bilgisayarda olabilir, ama onların IP adresi değişti, onlar oturum mümkün olmayacaktır

Ama yine de, sadece, kullanıcı tabloda bir IP adres alanı var NULL olmak başlayabilirsiniz. Birisi oturum açmaya çalıştığında kendi adı için bu alan boş olup olmadığını kontrol edin. Eğer öyleyse, onları giriş ve IP adresi (PHP değişken $_SERVER['REMOTE_ADDR']) olarak ayarlayın. Zaten bir adresi kümesi olsaydı, onlar dan giriş için çalışıyoruz IP orada saklanan biri olarak aynı olup olmadığını kontrol edin. Eğer değilse kullanıcı adı / şifre doğru olsa bile, giriş reddetmek.