Proteggersi da iscrizione automatiche malevoli con Spring Security

di il
10 risposte

Proteggersi da iscrizione automatiche malevoli con Spring Security

Esiste qualche modulo/metodo o qualche sistema per difendersi da iscrizione malevole con Spring Security?
Ho un form di login dove mettendo nome, password e conferma password ci si può iscrivere senza troppe complicazioni.
Se tale metodo esistesse quale sarebbe il principio di funzionamento?
Si legge l'IP del client e si impedisce a quel client di fare più di 6 iscrizioni al al minuto, oppure altro?

10 Risposte

  • Re: Proteggersi da iscrizione automatiche malevoli con Spring Security

    Il filtro dell'indirizzo ip puoi farlo ma ragionando su base giornaliera: 3 iscrizioni dallo stesso ip in un giorno sono già troppe.
    Per frenare le iscrizioni automatiche devi usare i CAPTCHA. Tra i più usati c'è quello di Google: https://www.google.com/recaptcha/about
  • Re: Proteggersi da iscrizione automatiche malevoli con Spring Security

    iBaffiPro ha scritto:


    Esiste qualche modulo/metodo o qualche sistema per difendersi da iscrizione malevole con Spring Security?
    - email di conferma registrazione con link cliccabile (se email obbligatoria in fase registrazione)
    - captcha
    - banning del IP per breve/lungo periodo

    sono tutte possibilità sensate. Quanto siano già integrate o integrabili con Spring Security, non lo so di preciso. Per cose a questi livelli c'è purtroppo da studiare/documentarsi molto bene.
  • Re: Proteggersi da iscrizione automatiche malevoli con Spring Security

    Per quanto riguarda l'IP devo creare una tabella nel DB e creare personalmente il metodo oppure esiste già qualcosa di pronto?
    Per quanto riguarda il captcha non sono convinto che serva a qualcosa perché se non sbaglio usa javascript ma se l'utente disabilita javascript il captcha non serve a nulla. C'è modo di impedire la registrazione se javascript è disabilitato?
    Grazie per il tuo intervento e per le dritte
  • Re: Proteggersi da iscrizione automatiche malevoli con Spring Security

    Non uso la mail in fase di registrazione perché non ho disponibile un server e non riuscirei a testare se il metodo che scrivo funziona.
  • Re: Proteggersi da iscrizione automatiche malevoli con Spring Security

    Sembra che questo captcha sia molto buono ma serve collegarsi a google e non mi piace come filosofia.
    Qualcosa su Spring Boot c'è:
    https://www.baeldung.com/spring-security-registration-captcha
  • Re: Proteggersi da iscrizione automatiche malevoli con Spring Security

    iBaffiPro ha scritto:


    Per quanto riguarda l'IP devo creare una tabella nel DB e creare personalmente il metodo oppure esiste già qualcosa di pronto?
    Se esiste qualche soluzione già pronta non lo so. Puoi cercare. Farlo da zero non è difficile a patto di non voler fare scenari troppo complessi.

    iBaffiPro ha scritto:


    Per quanto riguarda il captcha non sono convinto che serva a qualcosa perché se non sbaglio usa javascript ma se l'utente disabilita javascript il captcha non serve a nulla.
    Guarda che un captcha tecnicamente si può benissimo implementare e gestire completamente SENZA Javascript. Si tratta alla fin fine solo di una immagine generata lato server che ha un contenuto (testo/numeri/ecc...) molto distorto o offuscato, che normalmente solo un essere umano "sa" comprendere e interpretare.

    Se c'è Javascript di mezzo, generalmente è solo per qualche effetto/abbellimento un po' cool che però non cambia il concetto di base. (robe tipo es. "clicca qui per ascoltare il testo" o "clicca qui per generare un altro testo" oppure validazioni basilari lato client)

    iBaffiPro ha scritto:


    Non uso la mail in fase di registrazione perché non ho disponibile un server e non riuscirei a testare se il metodo che scrivo funziona.
    Ma che c'entra, non vuol dire nulla ....
    Sarebbe testabile anche in locale.
    Basta usare un SMTP (che già usi probabilmente per la tua posta personale) e nella mail generata, che ovviamente mandi a te, ci sarà un link che inizia con http://localhost:nnnn invece di https://www.miosito.xyz.
    Tutto lì, si tratta semmai solo di rendere questi due aspetti (SMTP e url "base") ben configurabili e ovviamente distinti tra "sviluppo" e "produzione".
  • Re: Proteggersi da iscrizione automatiche malevoli con Spring Security

    iBaffiPro ha scritto:


    Non uso la mail in fase di registrazione perché non ho disponibile un server e non riuscirei a testare se il metodo che scrivo funziona.
    In che senso non hai disponibile un server?
    Come minimo Google, poi ci sono server di posta open source ...

    ad esempio:

    https://james.apache.org
  • Re: Proteggersi da iscrizione automatiche malevoli con Spring Security

    Qui ho trovato un altro esempio (basta mettere localhost):
    https://examples.javacodegeeks.com/using-google-captcha-with-spring-boot-application/
    1) Se in locale testo il progetto senza una connessione ad internet il captcha smette di funzionare?
    https://james.apache.org
    2) James da quello che leggo sembra una webmail locale installabile su docker. Meglio James oppure inviare la mail da localhost al mio account Google come dice AndBin?
  • Re: Proteggersi da iscrizione automatiche malevoli con Spring Security

    iBaffiPro ha scritto:


    https://examples.javacodegeeks.com/using-google-captcha-with-spring-boot-application/
    1) Se in locale testo il progetto senza una connessione ad internet il captcha smette di funzionare?
    Sì, ovviamente non funziona, dato che già solo il js della API arriva da google.com. Oltre al fatto che il backend Java deve poi fare un POST ad un endpoint (sempre di Google) per la validazione.

    iBaffiPro ha scritto:


    https://james.apache.org
    2) James da quello che leggo sembra una webmail locale installabile su docker.
    No, non è una webmail! È un server di posta che supporta i protocolli SMTP, POP3, IMAP e mi pare pure NNTP (per i newsgroup). Con James potresti creare in locale una tua "casella" di posta, poi la tua webapp usa il SMTP di James per inviare la email a quella casella e con POP3/IMAP che punta sempre a James puoi usare un tuo client di posta per ricevere quella email. Insomma, potresti fare tutto il giro in locale, senza neanche uscire su internet. Ma non è comunque banale, devi leggerti BENE tutta la documentazione di James, configurarlo appropriatamente, ecc...
    Non so quanto valga la pena ... quando invece basta usare un SMTP e una tua email che probabilmente già hai a disposizione.
  • Re: Proteggersi da iscrizione automatiche malevoli con Spring Security

    Capisco, grazie di tutto e a tutti.
Devi accedere o registrarti per scrivere nel forum
10 risposte