Visualizzazione dei risultati da 1 a 5 su 5

Hybrid View

  1. #1

    [JAVA] Gestione applicazione multiutente usando socket TCP/IP

    Buongiorno a tutti!
    Ho scritto una piccola applicazione client/server in java utilizzando i socket TCP/IP per la comunicazione in rete e testato che funzioni correttamente. Vorrei quindi implementare la possibilità di poter avere più utenti, ciascuno con relativo account.

    C'è qualche guida che può venirmi in aiuto? C'è qualche pattern particolare che può essere indicato per il mio obiettivo?

    Grazie in anticipo,
    ER

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Non credo esistano delle guide dedicate all'implementazione di un sistema multiutente (o anche solo di un sistema di login). Esistono delle best practice da seguire nell'implementazione del sistema, ma poi tutto dipende dal tipo di autenticazione che vuoi implementare (basic authentication? 2FA authentication? SSO [Single-Sign-On]? Altri che ora non mi vengono in mente?)

    Quello che certamente ti serve è un database in cui memorizzare le informazioni sugli account. Non commettere l'errore di andare a scrivere le password in chiaro: generalmente si memorizza l'hash della password e si confronta quello con ciò che l'utente ha digitato.

    Poi, vuoi implementare l'autenticazione a due fattori? Bene, puoi basarti su un sistema di mailing (generi un codice di X caratteri che invierai via mail all'utente, che dovrà inserirlo entro Y minuti) oppure affidarti a sistemi più complessi e più sicuri come Google Authenticator o simili (esistono librerie per poterlo fare agevolmente); eviterei di perdere tempo nel cercare di effettuare l'invio di un codice tramite SMS perchè, a parte non trovare servizi gratuiti affidabili per sta cosa, saresti anche "vulnerabile" alla SIM Swapping.

    Insomma, c'è un mondo dietro questa cosa.

    Poi se devi farti il tuo sistema casalingo solo per scopo didattico, allora vale tutto (anche le password in chiaro ).

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Ciao!

    Certamente avrei usato un db e le password non in chiaro. Quali possono essere delle best practice? In rete non ho trovato nulla!

    Grazie in anticipo

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Il problema non sono le best practice ma che tipo di autenticazione vuoi utilizzare.
    LeleFT te ne ha fornite tre e direi che puoi iniziare a studiare cosa sono. In base a cosa sono valuti il loro utilizzo per la tua applicazione.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Qui le linee guida del NIST per la gestione delle password:
    https://blog.netwrix.com/2022/11/14/...rd-guidelines/

    Qui, sempre del NIST, le indicazioni per le procedure di autenticazioni nei sistemi digitali:
    https://pages.nist.gov/800-63-3/sp800-63b.html


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.