PDA

View Full Version : script per autenticare indirizzi email nei form


pacohantas
25-04-2004, 16:14
Carissimi,
ho bisogno di aiuto per sistemare i form del mio sito.
Esiste uno script o un programma che è in grado di verificare l'autenticità degli indirizzi email che inseriscono i visitatori del sito?
Siccome i form che ho in servizio nel mio sito partono anche se vi si inserisce un indirizzo fasullo, purché si mette la chiocciola@ e il punto, per cui alcuni deficienti scrivono volgarità restando nell'anonimato.
Grazie e saluti.
:confused:

GHz
25-04-2004, 16:54
Spostato in programmazione! ;)

GHz :cool:

cionci
25-04-2004, 18:20
Al massimo puoi verificare che che l'indirizzo sia composto in questo modo: aaaa@aaaa.aa
Verificare che sia valido è impossibile...
Potresti loggarti l'indirizzo...come raccogli i dati della form ?

pacohantas
26-04-2004, 20:47
Allora scrivendo aaaaaa@aa.it (.es-.ch- etc.etc) il form parte, per cui come ho scritto prima qualsiasi deficiente può scrivere quello che vuole, per esempio parolacce, inserendo (per non farsi scoprire) un indirizzo inventato.
Pensavo (forse viaggio troppo con la fantasia informatica) che ci potrebbe essere un database nazionale, o europeo, dove sono registrati i nomi domini per email, ed ancora che ci potrebbe essere un programma che al momento dell'inserimento dell'indirizzo nel form, andrebbe a controllare (online) nel fantomatico database, la correttezza e l'esistenza di tale indirizzo e bloccare il form se l'indirizzo risultasse inesistente.
Forse un database del genere a livello ufficiale non esiste, ma potrebbe esistere a livello privato.
Cosa ne pensate?
Saluti
:muro:

cionci
26-04-2004, 22:48
No...non esiste e non può esistere...
Se volessi domani potrei crearmi 10 indirizzi diversi su 10 server di poccole aziende e con un sistema come quello io non avrei una email valida !!!

ri
26-04-2004, 23:26
come dire... prendiamo la privacy e buttiamola nel cesso :asd:
l'unico modo valido è suddivedere la registrazione/il servizio in 2 step:
1. inserimento email e invio mail con un link alla conferma di registrazione
2. ricezione del messaggio da parte dell'utente che se ha dato la sua mail allora può usufruire del servizio, altrimenti si attacca

GioFX
27-04-2004, 10:43
Prova con questo...


function isEmail(value) {
invalidChars = " /:,;";

if (value=="") return false;

for (j=0; j<invalidChars.length;j++) {
badChar = invalidChars.charAt(j);
if (value.indexOf(badChar,0) != -1) return false;
}
atPos = value.indexOf("@", 1);

if (atPos == -1) return false;
if (value.indexOf("@", atPos + 1) != -1) return false;

periodPos = value.indexOf(".", atPos);

if (periodPos == -1) return false;
if (periodPos+3 > value.length) return false;

return true;
}

pacohantas
27-04-2004, 17:16
L'idea di RI mi sembra fattibile, comunque proverò lo script di GIOFX. A proposito lo hai provato?
Saluti:cool:

pacohantas
27-04-2004, 17:21
Dimenticavo: il codice dove lo devo inserire precisamente?:rolleyes:

ri
27-04-2004, 18:00
nella funzione di controllo dati post-submit
e cmq la funzione di giofx non fa altro che verificare che la mail sia in formato mail@qualcosa.dove e mi pare di aver capito che tu hai già qualcosa del genere

pacohantas
27-04-2004, 18:41
Si..... mail@qualcosa.dove effettivamente è quello che non va bene, appunto perchè per il form così è corretto.

GioFX
01-05-2004, 18:52
allora non ho capito che ti serve pacohantas.

cionci
01-05-2004, 20:19
Vuole un modo per verificare se la mail è effettivamente esistente... Un modo diretto non esiste...

pacohantas
01-05-2004, 21:40
Allora do le mie "rassegnazioni".
Però sono sempre convinto che un database dove sono inseriti tutti gli indirizzi email esiste. Forse nelle questure o cose del genere.
Ma noi crediamo ancora alla favola della privacy.
Saluti a tutti i senior.:O

GioFX
02-05-2004, 01:16
scusa, ma davvero sei convinto che esista un DB mondiale di tutte le mail? ma dai... ;)

un modo per verificare la validità degli indirizzi e-mail esiste, vedi questo:

http://www.schwarzl.com/ipcheck.html

ma non puoi sapere se l'indirizzo è attivo e se viene utilizzato, dato che controlla i domini, e quindi trova spesso che un server di posta accetta tutti i nomi@dominio.

ilsensine
02-05-2004, 10:44
Originariamente inviato da pacohantas
Però sono sempre convinto che un database dove sono inseriti tutti gli indirizzi email esiste. Forse nelle questure o cose del genere.

Ammesso che esista (non può comunque essere completo, per motivi tecnici), ciò non impedisce di utilizzare un valido ed esistente indirizzo mail, appartenente ad un'altra persona. Un pò come fanno i virus, insomma.

pacohantas
03-05-2004, 09:45
Qualcosa incomincia ad emergere!
Effettivamente il servizio del sito risolve la soluzione a metà, perche può convalidare i nomi dominio anche dei provider di posta, infatti segna indirizzo valido se il dominio esiste, così se si scrive "abcdefghi@libero.it" lo da come indirizzo valido.
Cosa che non risolme il mio quesito.
Comunque è già qualcosa.

Ho notato anche che alcuni provider di posta elettronica filtrano gli indirizzi eliminando oltre quelli infetti di virus, anche quelli che hanno nomi inventati (credo che sia così). Infatti con uno me ne arrivano di tutti i tipi, con l'altro (interfree.it) mi arrivano solo quelli con indirizzi validi.

Per esempio quando mi arrivano email con recensioni a siti porno, generalmente gli indirizzi sono nomi di donna, al quale ho provato a rispondere, ricevendo a mia volta una comunicazione dal provider che l'indirizzo è INESISTENTE.

Grazie per la vostra attenzione e sopportate la mia ignoranza.
Saluti

ilsensine
03-05-2004, 10:01
Originariamente inviato da pacohantas
Ho notato anche che alcuni provider di posta elettronica filtrano gli indirizzi eliminando oltre quelli infetti di virus, anche quelli che hanno nomi inventati (credo che sia così). Infatti con uno me ne arrivano di tutti i tipi, con l'altro (interfree.it) mi arrivano solo quelli con indirizzi validi.

Per esempio quando mi arrivano email con recensioni a siti porno, generalmente gli indirizzi sono nomi di donna, al quale ho provato a rispondere, ricevendo a mia volta una comunicazione dal provider che l'indirizzo è INESISTENTE.

Non c'entra nulla con il filtraggio. Se un indirizzo non è esistente (ad es. fittizzio, inventato), ti viene riportato questo errore in quanto il tuo server di posta non è riuscito a recapitare la mail al server+account indicato -- punto. Ancor più divertente se l'indirizzo è quello di una tua amica :D

Guarda, è una battaglia persa in partenza: vuoi vedere come ti faccio arrivare una mail da pacohantas@inwind.it o qualsiasi indirizzo vuoi darmi? L'unico modo per difendersi dalle innumerevoli debolezze dei protocolli di posta, è usare un sistema con feedback come ha suggerito Ri (oppure quello usato da questo o altri forum, ad esempio).

ri
03-05-2004, 13:55
le so tutte! :asd:

pacohantas
03-05-2004, 21:34
A questo punto scherciamoci pure sopra.
Ovvero prenderò la cosa (il mio problema) con filosofia.
Non fraintendetemi: rispondevo alle email per cancellarmi (cosa che ovviamente era impossibile):cry:
Devo fare i complimenti a voi ad al servizio di questo forum, ho trovato, anche in passato, veramente persone competenti.
Mi viene in mente ancora una cosa (l'ultima?).
Il sito all'indirizzo di cui sopra, controlla gli indirizzi di dominio se sono validi, quindi anche i provider di posta possono controllare se un nome che usa il loro dominio è nel loro database.
Quindi ad una eventuale richiesta (fantasticando!) può segnalare se inserito o non inserito, senza con questo intaccare la privacy siccome non si richiede il nome del registrato.

Salutoni

ilsensine
03-05-2004, 21:39
Originariamente inviato da pacohantas
Il sito all'indirizzo di cui sopra, controlla gli indirizzi di dominio se sono validi, quindi anche i provider di posta possono controllare se un nome che usa il loro dominio è nel loro database.
Quindi ad una eventuale richiesta (fantasticando!) può segnalare se inserito o non inserito, senza con questo intaccare la privacy siccome non si richiede il nome del registrato.

In teoria è possibile (è sicuramente possibile in modo indiretto: provando a mandare una mail all'indirizzo, e vedendo se il server te la accetta oppure restituisce un errore); in pratica non so se il protocollo di posta implementa una interrogazione di questo tipo.
E comunque - ripeto - il campo "indirizzo mittente" è puramente indicativo, puoi metterci anche quello di un'altra persona e il controllo verrebbe fregato...

cionci
04-05-2004, 09:55
Originariamente inviato da pacohantas
Il sito all'indirizzo di cui sopra, controlla gli indirizzi di dominio se sono validi, quindi anche i provider di posta possono controllare se un nome che usa il loro dominio è nel loro database.
Quindi ad una eventuale richiesta (fantasticando!) può segnalare se inserito o non inserito, senza con questo intaccare la privacy siccome non si richiede il nome del registrato.
Così come il sito sopra i provder possono (ed alcuni lo fanno) tentare una risoluzione del server dell'indirizzo email sorgente...

Mettiamo caso che ci sia pluto@pippo.it:

il server di posta prima di recapitare una mail da quell'indirizzo esegue un controllo sul dominio pippo.it chiedendo al suo server DNS il record MX (che indica in partica il server di posta per quel determinato dominio)...
Se ottiene una risposta valida allora inoltra la mail...se non ottiene una risposta valida non la inoltra...