[PHP] Controllo email se e valida

  • Creatore Discussione Creatore Discussione ANDREA20
  • Data di inizio Data di inizio

ANDREA20

Utente Attivo
25 Giu 2016
145
1
18
27
Buona sera
durante le registrazione vorrei che il sistemare rileva email se e valida o no perchè molta gente si sta registrando con email falsa programazione in php

Buona serata
 
Puoi utilizzare il filtro presente di default in PHP.

PHP:
<?php

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  echo("$email non è un indirizzo valido.");
} else {
  echo("$email è un indirizzo valido.");
}

?>
 
Nella form imposti l'attributo ACTION sulla pagina che esegue la validazione (es. login.php) e dentro login.php ci metti quel codice.

Comunque quel codice ti controlla solo la correttezza della sintassi del contenuto della form mail quindi chiunque si puo' registrare con email:
[email protected]
[email protected]
[email protected]

Tu invece hai parlato di email fasulle e l'unico modo che hai è crearti un database (o un array in php, meglio) in cui ci metti tutti i domini di mail temporanee e ti spiego perchè:
Se io registro stasera il dominio blablabla.it e creo un indirizzo mail con quel dominio ([email protected]), se tu mi impedisci di registrare un dominio diverso da quelli che vuoi tu, taglieresti fuori dal tuo sito una moltitudine innumerevole di potenziali utenti.
Comunque basta dividere l'account dal nome del dominio (nell'indirizzo mail) con la funzione "explode" di PHP.

Quindi abbiamo per esempio:
- Index.php: che contiene la form con action="login.php".
- Login.php: che contiene la funzione che divide il nome utente dal dominio (Jonn@ <->blablabla.it).
- Sempre Login.php che confronta il dominio della mail (blablabla.it) con quelli dentro l'array, se lo trova allora restituisce il messaggio di errore (questo perchè dentro l'array ci metti i domini non consentiti sul sito).
Il controllo lo fai con un:

- if(in_array($lang, array("dominio1.it","dominio2.it","dominio3.it","dominio4.it"/))){echo "Indirizzo mail non valido"};

Se un domani esce un altro dominio di mail temporanee aggiungi un valore con il nome del dominio nuovo da escludere dal tuo sito dentro l'array e lo carichi, ed è già attivo senza fare ulteriori modifiche.
Scusa il papiro ma sono cose che si fa prima a farle che a dirle.
Ciao
 
Tu invece hai parlato di email fasulle e l'unico modo che hai è crearti un database (o un array in php, meglio) in cui ci metti tutti i domini di mail temporanee
Questo però non ti garantisce che l'indirizzo email inserito non sia fasullo (esempio bdqdho32dh3j@gmail.com).

A questo punto, se vogliamo verificare che l'indirizzo sia reale, l'unica strada credo sia quella dell'attivazione dell'account tramite un link predefinito e consegnato via mail all'utente. Se il link viene premuto, allora siamo certi che la mail è valida (a meno di eventuali indirizzi/account email temporanei).
 
  • Like
Reactions: Jonn
Vero, ho scritto troppo in fretta.. :D
In ogni caso conviene comunque utilizzarle entrambi, il filtro domini e l'attivazione dell'account.
 

Discussioni simili