Estou escrevendo um software que será usado principalmente pelas empresas.
Tive então a idéia de oferecer às empresas uma maneira de registrar seu domínio de email, para que todos os usuários que se registrassem em um email do domínio especificado fossem automaticamente colocados no grupo da empresa.
Sei que o Slack faz algo assim e funciona, mas existem alguns problemas ... por exemplo, acabei de registrar "live.it" (a versão em italiano do live.com da Microsoft).
Não posso assumir que, se um usuário validou um email com um domínio específico, é seguro colocar todos os usuários com o mesmo domain_mail no mesmo grupo.
Por exemplo, se eu me registrar com [email protected], não quero permitir que o usuário registre "gmail.com" com seu próprio domínio.
Eu gostaria de evitar o uso de métodos como "colocar um arquivo html na raiz do domínio" ou "definir um registro TXT", então eu queria saber como devo fazer.
fonte
Respostas:
Arquivo no diretório raiz
Não descarte a possibilidade de colocar um arquivo em um diretório raiz do site corporativo. Funciona bem e é amplamente utilizado: as Ferramentas do Google para webmasters é um exemplo dessa técnica. Isso torna essa abordagem atraente: como a maioria dos usuários já conhece, eles não serão perdidos. Além disso, ele não requer nenhum conhecimento técnico, ao contrário da modificação dos registros MX (a maioria das pequenas empresas nem sabe o que é um registro MX).
Para evitar poluir o diretório raiz, você deve pedir para colocar um arquivo apenas ao fazer suas verificações. Depois de encontrar o arquivo, o usuário poderá removê-lo.
Observe que os usuários que não possuem nenhum site corporativo não poderão acessar seu serviço, mas acho que não há muitos clientes nesse caso.
Observe que:
Você deve verificar os http://example.com/file e http://www.example.com/file , porque alguns sites são configurados de forma a não oferecerem suporte a http://example.com/formulário .
Você também pode oferecer suporte a HTTPS, pois acho que não há muitas empresas sem redirecionamento de HTTP para HTTPS.
Você não deve aceitar outros domínios de terceiro nível, como http://mysite.example.com/ , pois isso possibilitará que alguém que comprou um domínio de terceiro nível afirme que é o proprietário do domínio de segundo nível example.com .
Enviando um email
Enviar um email com link secreto é bastante problemático. Você não pode fazê-lo para [email protected], porque uma determinada pessoa pode não ter um endereço de email corporativo (geralmente é o caso de startups, onde as pessoas preferem usar seu endereço pessoal).
O uso de emails como [email protected] não funcionará em alguns casos.
Primeiro, sempre há empresas que não possuem [email protected], [email protected] etc., mas têm seus endereços de email específicos do "sistema" que você não incluiu na lista de permissões. Considere especificamente empresas estrangeiras; por exemplo, na França, não é incomum para usar "Administrat eu r" em vez de "Administrador", incluindo para os endereços de e-mail e nomes de contas.
Segundo, muitas pequenas empresas não acessam e não sabem como acessar os e-mails do sistema. Eles pagam nem mesmo sabem que têm [email protected] com centenas de e-mails urgentes aguardando sua resposta.
Pelo mesmo motivo, você não pode se basear nos registros WHOIS para o endereço de email.
fonte
info@
(ou qualquer endereço local) seja definido nele ou que ele terá um endereço catch-all monitorado.A questão está em vigor: "O que significa possuir um domínio de email?".
A propriedade de um site é definida pela capacidade de colocar um arquivo na raiz . Usuários comuns podem conseguir colocar um arquivo,
http://example.com/~user42/validation.txt
mas não ativá-lohttp://example.com/validation.txt
.Para email, não existe essa hierarquia. No entanto, o
postmaster
endereço é especial. (Reservado pela RFC2142 ) Você não poderá criar[email protected]
. Portanto, a capacidade de criar e / ou acessarpostmaster@
é a prova de que você precisa para ter um domínio de email.fonte
Vendo em seus comentários que você pode não preferir usar o método de arquivo na raiz do site, uma alternativa que pode funcionar é:
Verificar propriedade usando WHOIS
Você precisaria obter o domínio que está sendo solicitado (por exemplo
stackexchange.com
) e um dos emails listados na saída WHOIS para esse domínio . (Observe que isso não funcionará para registros secretos / privados, mas se seu público for empresas, isso geralmente não é um problema)Por exemplo:
Você pode até fazer a
whois
pesquisa interativamente e fornecer uma lista suspensa dos e-mails válidos (neste caso, apenas[email protected]
). Você enviaria um código / link de verificação para o e-mail escolhido.fonte
Peça aos usuários que adicionem um registro TXT ao domínio com uma referência à conta de usuário em seu site (nome de usuário, ID ou um token arbitrário gerado ao solicitar ao usuário que verifique o domínio).
Lembro-me de adicionar um registro chamado
adn_verification=<my user name>
em uma rede social para exibir meu domínio como verificado, e achei muito legal e não exige que você tenha o domínio apontando para um servidor web.fonte
Para adicionar as sugestões já existentes na página: recomendo que o usuário tenha opções sobre como ele valida seu domínio. As outras sugestões da página são perfeitamente utilizáveis, mas às vezes você está na situação em que alguém que deseja verificar seu domínio apenas tem acesso limitado ao servidor ou mesmo ao site. Por exemplo, seu usuário pode não conseguir adicionar registros ou arquivos de domínio na raiz do domínio.
Por exemplo, Troy Hunt permite que os usuários pesquisem um domínio inteiro em seu banco de dados de contas comprometidas, mas é necessário verificar primeiro. Ele oferece ao usuário a escolha de 4 métodos:
Nos quatro casos, ele exige que o usuário insira um valor específico em algum lugar no qual ele verifique.
A explicação está em http://www.troyhunt.com/2014/01/im-pwned-youre-pwned-were-all-pwned.html .
fonte
Você poderia evitar o uso de webmails gratuitos para registro?
Isso é o que Brium faz: você não pode assinar-in com um
@gmail.com
,@live.com
, etc e-mail - você tem que usar o seu próprio.E isso te agarra por isso.
Se você tem como alvo empresas, esse deve ser um bom caminho a percorrer.
Você ainda pode ter o problema de saber quem é o chefe (digamos, o administrador desse grupo), mas pode não ser tão importante - o chefe provavelmente deve ter as ferramentas para dizer a qualquer funcionário que transfira a propriedade para ele, desde que alguém registrado antes do chefe.
fonte