Come convalidare un determinato dominio è di proprietà dell'utente?

10

Sto scrivendo un software che verrà utilizzato principalmente dalle aziende.

Poi ho avuto l'idea di dare alle aziende un modo per registrare il loro dominio di posta elettronica in modo che ogni utente che si registra con un'e-mail del dominio specificato venga automaticamente inserito nel gruppo della società.

So che Slack fa qualcosa del genere e funziona, ma ci sono alcuni problemi ... ad esempio, ho appena registrato "live.it" (la versione italiana di live.com di Microsoft).

Non posso semplicemente presumere che se un utente ha convalidato un'e-mail con un dominio specifico, allora è sicuro mettere tutti gli utenti con lo stesso dominio_mail nello stesso gruppo.

Ad esempio, se mi registro con [email protected] non voglio consentire all'utente di registrarsi "gmail.com" ha il proprio dominio.

Vorrei evitare l'uso di metodi come "metti un file html nella radice del dominio" o "imposta un record TXT", quindi mi chiedevo come dovrei fare.

    
posta Fez Vrasta 25.09.2014 - 14:42
fonte

6 risposte

19

File nella directory principale

Non scartare la possibilità di inserire un file in una directory principale del sito web aziendale. Funziona bene ed è ampiamente utilizzato: Google Webmaster Tools è un esempio di tale tecnica. Ciò rende questo approccio attraente: poiché molti utenti lo sanno già, non andranno persi. Inoltre, non richiede alcuna conoscenza tecnica, a differenza della modifica dei record MX (la maggior parte delle piccole aziende non sa nemmeno cosa sia un record MX).

Per evitare di inquinare la directory radice, dovresti chiedere di mettere un file solo quando fai i controlli. Una volta trovato il file, l'utente potrebbe essere in grado di rimuoverlo.

Nota che gli utenti che non hanno un sito web aziendale non potranno accedere al tuo servizio, ma non credo che ci siano molti clienti in questo caso.

Nota che:

  • Dovresti controllare sia il link sia link , perché alcuni siti Web sono configurati in modo tale da non supportare il link modulo.

  • Potresti supportare anche HTTPS, dato che non credo ci siano molte società senza reindirizzamento da HTTP a HTTPS.

  • Non dovresti accettare altri domini di terzo livello come link , perché ciò renderà possibile a qualcuno che ha acquistato domini di terzo livello per rivendicare che è il proprietario del dominio di secondo livello example.com .

Invio di un'e-mail

L'invio di un'e-mail con link segreti è piuttosto problematico. Non puoi farlo per [email protected], perché una determinata persona potrebbe non avere un indirizzo e-mail aziendale (questo è spesso il caso di startup, in cui le persone preferiscono usare il loro indirizzo personale).

L'utilizzo di e-mail come [email protected] non funzionerà in alcuni casi.

  • Innanzitutto, ci sono sempre aziende che non hanno [email protected], [email protected] ecc., ma che hanno i loro particolari indirizzi di posta elettronica "di sistema" che non hanno autorizzato. Considerare specificamente le società straniere; ad esempio, in Francia, non è insolito utilizzare "Administrat eu r" invece di "Amministratore", incluso per indirizzi e-mail e nomi di account.

  • In secondo luogo, molte piccole aziende non accedono e non sanno come accedere alle e-mail di sistema. Pagano non sanno nemmeno di avere [email protected] con centinaia di e-mail urgenti che aspettano la loro risposta.

    Per lo stesso motivo, non puoi basarti sui record WHOIS per l'indirizzo e-mail.

risposta data 25.09.2014 - 14:58
fonte
17

La domanda è effettiva: "Che cosa significa possedere un dominio di posta elettronica?".

La proprietà di un sito Web è definita dalla possibilità di inserire un file nella radice . Gli utenti ordinari potrebbero essere in grado di inserire un file su http://example.com/~user42/validation.txt ma non su http://example.com/validation.txt .

Per la posta elettronica, non esiste una tale gerarchia. Tuttavia, l'indirizzo postmaster è speciale. (Riservato per RFC2142 ) Non sarai in grado di creare [email protected] . Pertanto, la possibilità di creare e / o accedere a postmaster@ è la prova necessaria per la proprietà del dominio email.

    
risposta data 25.09.2014 - 16:13
fonte
9

Osservando nei tuoi commenti che potresti non preferire utilizzare il metodo file-in-root-of-website, un'alternativa che potrebbe funzionare è

Verifica la proprietà utilizzando WHOIS

Dovresti ottenere il dominio richiesto (ad esempio stackexchange.com ) e una delle email elencate nell'output WHOIS per quel dominio . (Nota che questo non funzionerà per le registrazioni segrete / private, ma se il tuo pubblico è di corporazioni questo di solito non è un problema)

Ad esempio:

WHOIS information for stackexchange.com:**
...
Domain Name: STACKEXCHANGE.COM 
Registrar WHOIS Server: whois.name.com 
Registrar URL: http://www.name.com 
Updated Date: 2014-05-14T16:49:02-06:00 

Registrant Name: Sysadmin Team 
...
Registrant Email: [email protected] 
Admin Name: Sysadmin Team 
Admin Organization: Stack Exchange, Inc. 
...
Admin Email: [email protected] 
Tech Name: Sysadmin Team 
...
Tech Email: [email protected] 
Name Server: cf-dns02.stackexchange.com 
Name Server: cf-dns01.stackexchange.com 
DNSSEC: NotApplicable 

Potresti anche eseguire la ricerca whois in modo interattivo e fornire un elenco a discesa delle e-mail valide (in questo caso, solo [email protected] ). Dovresti quindi inviare un codice / link di verifica all'email scelta.

    
risposta data 25.09.2014 - 20:21
fonte
6

Chiedi ai tuoi utenti di aggiungere un record TXT al loro dominio con un riferimento al loro account utente sul tuo sito (il nome utente, l'ID o un token arbitrario generato quando chiedi all'utente di verificare il loro dominio).

Ricordo di aver aggiunto un record chiamato adn_verification=<my user name> su un social network per visualizzare il mio dominio come verificato, e ho pensato che fosse abbastanza carino e non richiedesse che il dominio indicasse un server web.

    
risposta data 26.09.2014 - 00:15
fonte
2

Per aggiungere ai suggerimenti già presenti nella pagina: raccomando di dare all'utente le opzioni su come convalida il suo dominio. Gli altri suggerimenti sulla pagina sono tutti perfettamente utilizzabili, ma a volte ci si trova nella situazione in cui qualcuno che desidera verificare il proprio dominio ha solo un accesso limitato al proprio server o persino al proprio sito web. Ad esempio, l'utente potrebbe non essere in grado di aggiungere record o file di dominio nella directory principale del dominio.

Ad esempio, Troy Hunt consente agli utenti di cercare un intero dominio nel suo database di account compromessi, ma è necessario verificare prima. Dà all'utente la scelta tra 4 metodi:

  1. Tramite email;
  2. attraverso un meta tag;
  3. Un caricamento di file;
  4. un record TXT.

In tutti e 4 questi casi, richiede all'utente di inserire un valore specifico da qualche parte su cui verifica.

La spiegazione è al link .

    
risposta data 26.09.2014 - 10:15
fonte
0

Potresti permetterti di evitare l'uso di webmail gratuiti per la registrazione?

Questo è ciò che fa Brium : non puoi accedere con un @gmail.com , @live.com , ecc. e-mail - tu devi usare il tuo.

E ti raggruppa per questo.

Se prendi di mira le aziende, questa dovrebbe essere una buona soluzione.

Potresti ancora avere il problema di sapere chi il boss è (per esempio, l'amministratore di quel gruppo), ma potrebbe non essere così importante - il capo dovrebbe probabilmente avere gli strumenti per dire qualsiasi dipendente a trasferire la proprietà a lui, a condizione che qualcuno sia registrato prima del capo.

    
risposta data 25.09.2014 - 17:45
fonte

Leggi altre domande sui tag