PDA

View Full Version : [PHP] Sicurezza : Limitare accesso con certificato lato client


morriluca
14-04-2012, 15:30
Mi chiamo Morri Luca e vi pongo il mio problema/curiosità.

Dovrei realizzare un portale in php con accessi limitati, arrivando
alla limitazione dei singoli pc da dove accederci.
Navigando in rete e provando varie piattaforme ho trovato un curioso
metodo utilizzato da salesforce.com, uno dei più grandi servizi di CRM al mondo.

Il sistema di login di salesforce.com funziona nel seguente modo.

1) L'utente effettua la registrazione al sito. Dopo essersi registrato con username e password accede per ultimo al sistema tramite una pagina di login.
2) Dopo aver inserito i suoi dati (email e password) ed effettuato l'accesso il sistema riconoscere il pc di quell'utente. Essedo la prima volta che quell'utente accede al sistema da quel pc, il sistema stesso lo deve abilitare.
3) Per abilitare il pc, il sistema invia un'email al cliente con un codice di accesso ulteriore.
4) l'utente inserisce dopo il login il secondo codice arrivato via email
5) il sistema in qualche modo abilita il pc da cui l'utente si è loggato.

E' un sistema abbastanza complitato. Il portare CRM sopra indicato funziona nel seguente modo. Non può dipendere dall'ip e non dipende dai cookie (Ho provato ad eliminarli).
Da cos'altro può diendere?
Sapete illuminarmi?

La combinazione di sicurezza dipenda sostanzialmente da PC-User.
Se accedo con un altro user dallo stesso pc devo per forza ricertificare il pc.

Vi dirò di più. Il sistema usato da salesforce.com è indipendente dal browser. Se io certifico per esempio il pc con internet explorer, non è necessario ricertificarsi se accedo tramite firefox ecc,

Sapete come si chiama tale tecnologia, o come si potrebbe implementare tale
sistema di sicurezza magari in PHP?

Esiste un qualche variabili in PHP che ti restituisce un qualche id del pc?

Secondo una mia prima ipotesi il sistema associa all'utente un qualche codice che ne identifica i pc dai quali lui si connette, ma con html e php non so come si possa fare.