Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Come verificare un numero di telefono con un SMS

by
Difficulty:IntermediateLength:ShortLanguages:

Italian (Italiano) translation by Mirko Pizii (you can also view the original English article)

Final product image
What You'll Be Creating

Introduzione

Nel precedente episodio, ho scritto come preparare la tua applicazione per gli SMS usando Twilio, un servizio comune di testo. Nel tutorial di oggi, ti mostrerò come verificare i numeri di telefono di un utente prima di cominciare a trasmettere un alto volume di testi aumentando i costi.

Prima di cominciare, voglio incoraggiarti a scrivere le domande e feedback nei commenti. Se ti piacerebbe continuare sui miei futuro tutorial di Envato Tuts+ e altre serie, visita la mia pagina da istruttore o segui @lookahead_io.

Delineando il processo

Dopo che l'utente ti fornisce il loro numero di telefono, vogliamo eseguire una manciata di semplici passaggi:

  • Generare un codice unico a 4 cifre.
  • Salvare il loro numero di telefono e il codice a quattro cifre nel nostro database (o criptare il codice localmente come variabile nascosta del form sulla pagina).
  • Inviare un messaggio al numero non verificato con il codice a quattro cifre.
  • Mostrare un form che chiede all'utente di fornire il codice che hanno ricevuto.
  • Verificare se i codici coincidono.
  • Appuntare il numero come verificato nel database.

La pagina di contatto dell'utente

In Meeting Planner, ogni utente può aggiungere molteplici metodi di contatto, es. Skype, telefono, etc. Ogni numero di telefono deve essere verificato per essere usato per le notifiche via SMS.

La terza riga sotto mostra una casella di spunta in cui possono fare clic per richiedere la verifica:

How to Verify a Phone Number via SMS - Contacts list

Facendo clic su questo, trasferisce l'utente al controller actionVerify() qui sotto; nota che li porta prima al blocco else perché non hanno ancora inviato un codice:

Il metodo canRequest() controlla se hanno richiesto i codici ripetutamente o troppo frequentemente:

Li faccio aspettare un minuto tra i vari tentativi per ridurre l'abuso.

Trasmettere il codice di verifica

Se permesso, chiama requestCode():

Questo fa il seguente:

  • Genera un codice random a quattro cifre.
  • Registra l'ultimo momento in tempo (secondi unix) che la richiesta di verifica è stata fatta.
  • Incrementa i tentativi di verifica per questo numero.
  • E salva tutto ciò nel database.
  • Poi, trasmette il testo con il codice che dovrebbe essere uguale all'immagine sotto.
How to Verify a Phone Number via SMS - Text message with verification code

Dopo aver richiesto il codice, salvato nel database dietro le scene e trasmesso il codice all'utente, caricherà il seguente modulo chiedendo il codice:

How to Verify a Phone Number via SMS - Verify Contact Form requesting code

Verificare il codice

Quando l'utente prova ad inviare il codice, esegue la parte superiore di actionVerify():

Esso controlla se il codice coincide. Se coincide, aggiorna il database per impostare il numero come verificato. E dice all'utente:

How to Verify a Phone Number via SMS - Successful confirmation notice

Altrimenti, mostra un messaggio di errore:

How to Verify a Phone Number via SMS - Error try again after a minute

Prova tu stesso

Se vuoi vederlo in azione, puoi registrarti su Simple Planner o Meeting Planner (in cui è facile con un account social come Facebook o Google) e aggiungi un numero di telefono. Poi fai clic sulla casella di controllo nella lista e vedrai. Questo è tutto.

Ricapitolando

Ovviamente, se la tua applicazione invia troppi messaggi di testo, è un notevole costo del business e vuoi limitare l'abuso. Puoi cominciare con l'installazione di un firewall contro i numeri invalidi—o numeri validi non posseduti dall'impostore.

Spero che lo hai trovato d'aiuto. Se hai delle domande o suggerimenti, per favore scrivili nei commenti. Se ti piacerebbe tenerti aggiornato sui miei futuri tutorial su Envato Tuts+ e altre serie, visita la mia pagina da istruttore o segui @lookahead_io. Sicuramente guarda le mie serie della mia startup e Meeting Planner.

Link correlati

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.