2015-04-10 31 views
6

Sto creando un'applicazione REST del server client. Il lato client si basa su Angular mentre il server è PHP (non che importi comunque molto).Implementazione captcha API REST client Server

Quello che mi chiedo se ci sono delle buone pratiche, buoni esempi di implementazione captcha in questo caso? Captcha verrebbe utilizzato per la registrazione dell'utente ecc.

Non sono limitato a nessuna libreria specifica, solo il requisito è che non ci possano essere chiamate a server di terze parti sul lato client (librerie js ospitate su server di terze parti o req api chiave ecc.).

grazie

risposta

10

quando Google captcha approva un utente, vi fornisce un token.

Quindi immaginate questo contesto. Gli utenti stanno per salvare, e usa il captcha, il captcha fa la sua attività fino ad approvare l'utente e ti dà un token, è tutto ciò che conta.

Se si desidera visualizzare un flusso "di domande" per questo.

  1. Utente prima che il registro passasse captcha, il captcha ti dà un token nel front-end.
  2. I clic dell'utente salvano, si ricevono nel back-end i dati del modulo e il token captcha. Chiedi a google attraverso l'API, il token è reale? se hanno detto di sì, si salva il modulo, se in qualche modo Google non lo riconosce, si restituisce un errore.
  3. Il front end ascolta per errore o successo e che tipo di errore. Se l'errore è captcha, forza un nuovo tentativo, ottieni un nuovo token.
  4. Il backend riceve nuovamente i dati del modulo e il nuovo token e ricontrolla.
0

di Google nuovo-ish reCaptcha è abbastanza liscia. Hanno diversi esempi di facile comprensione e scenari di utilizzo.

https://www.google.com/recaptcha/intro/index.html

Modifica: Per rispondere alla sua domanda specifica di come implementare questo in un'applicazione RESTful, mi piacerebbe fare due file. Uno sarebbe un file pubblico come index.php e l'altro sarebbe un file back-end che terrebbe le informazioni private.

Potrei copiare/incollare il mio how-to scritto in precedenza qui, o potrei semplicemente collegarti a the article I wrote 2 months ago.

+0

Non avevo davvero bisogno di consigli per la libreria captcha, altri consigli su come implementarlo in ambiente di restituzione client-server. –

0

Puoi dare un'occhiata a google-recaptcha. La sua attuazione angolare è qui

vcRecaptcha

+1

Non avevo davvero bisogno di consigli per la libreria captcha, ulteriori consigli su come implementarlo nell'ambiente di riposo client-server. –

+0

@VladimirCvetic Come per la tua domanda "Quello che mi chiedo se ci sono delle buone pratiche, buoni esempi di implementazione captcha in questo caso?" Volevi solo qualche buon captcha. Così ho dato il nome e il link per quello. Se aprirai il link troverai demo ed esempi. E se si desidera l'intero codice, StackOverflow non è il posto giusto. Perché lo stackoverflow non è dare/fornire codice. – Anita