Visualizzazione risultati 1 fino 5 di 5

Discussione: Limitare accesso sito da unico dispositivo per utente

  1. #1
    pup
    pup non è connesso Neofita
    Data registrazione
    28-01-2020
    Messaggi
    18

    Unhappy Limitare accesso sito da unico dispositivo per utente

    Ciao,
    Mi servirebbe, tramite il linguaggio PHP, poter riconoscere se il dispositivo con cui una persona accede al mio sito cambia o è sempre lo stesso (soprattutto dovrei poter limitare l'accesso a un solo dispositivo per utente).

    Per ora ho fatto una pagina di login molto basica in PHP e vorrei che a ogni utente corrispondesse uno o più dispositivi così da limitare l'accesso da altri dispositivi non riconosciuti.

    Sarebbe possibile poter riconoscere il dispositivo in qualche modo? Esiste qualche codice identificativo univoco? O si potrebbe salvare una variabile nella cache?
    Non ne so molto su questo argomento come si può vedere. :)

    Qualcuno sa come risolvere, per favore?
    Grazie in anticipo

  2. #2
    darbula è connesso ora AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,550

    Predefinito

    Tutto ciò che invia il cliente può essere falsificato (aggirando così il codice php, sia l'intestazione , ergo la stringa User agent o il cookie etc).
    Penso dovrai lavorare con una matrice e magari salvi l'indice numerico della matrice nella variabile di sessione per poi confrontarlo.
    Codice PHP:
    //esempio con variabile di sessione
    session_start(); //imposta o recupera $_SESSION
    $my_arr[] = 1//L'indice inizia da zero
    $_SESSION['uniq'] = count($my_arr); // totale globale in questo script, potrebbero anche essere più utenti o semplicemente il singolo utente ma con più connessioni
    //se utente già loggato usa più di un indice numerico significa più di una connessione

    //occorre anche una stringa univoca per ogni connessione in modo da stabilire il limite di una connessione 
    Ultima modifica di darbula : 26-09-2021 alle ore 08.08.37

  3. #3
    pup
    pup non è connesso Neofita
    Data registrazione
    28-01-2020
    Messaggi
    18

    Predefinito

    Grazie mille per la risposta immediata.
    Come funziona session di preciso?
    Avevo pensato di salvare una valore nei cookie (che duri per molto tempo) al momento del primo login, salvare quel valore legato all'utente su un file di testo esterno e poi ogni volta che accede quell'utente confrontarlo con quello a lui collegato. So che non è molto sicura come opzione, però potrebbe comunque andare bene, sempre se possibile come cosa.

  4. #4
    darbula è connesso ora AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,550

    Predefinito

    Beh di preciso è un termine non usato in un linguaggio interpretato come il php che al suo interno usa codice C.
    Comunque regredendo la domanda, la sessione http di php può essere salvata in un file e si profila tramite cookie. Spesso è il default impostato dal tuo hosting.
    crea_sessione.php
    Codice PHP:
    session_start()
    if(!isset(
    $_SESSION['id'])) { // Se non definito creo con un valore intero
    $_SESSION['id'] = 1//Generalmente il tuo nuovo id sarà creato dal tuo database per evitare problemi di collisioni con lo stesso valore.

    Se si profila tramite cookie, dovrai effettuare una seconda richiesta (php con session_start() dovrebbe aggiungere Set-Cookie: valore, per la richiesta e dopo diventa Cookie: valore) per prelevare il valore direttamente dal file altrimenti è il valore globale di $_SESSION['id'] invece del testo salvato nel file tramite $_SESSION['id'] (Non è la stessa cosa anche se potrebbe essere lo stesso valore).
    Ultima modifica di darbula : 26-09-2021 alle ore 16.49.04

  5. #5
    pup
    pup non è connesso Neofita
    Data registrazione
    28-01-2020
    Messaggi
    18

    Predefinito

    I cookie per me sono ancora un po' sconosciuti, so a mala pena PHP.
    Appena riesco provo a guardare bene il tuo codice e a cercare un po' in giro.
    Grazie mille

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •