Làm thế nào để xác nhận một tên miền nhất định thuộc sở hữu của người dùng?


10

Tôi đang viết một phần mềm sẽ được sử dụng chủ yếu bởi các công ty.

Sau đó, tôi đã có ý tưởng cung cấp cho các công ty một cách để đăng ký tên miền email của họ để mọi người dùng đăng ký với một email của tên miền nhất định sẽ tự động được đưa vào nhóm công ty.

Tôi biết Slack làm một cái gì đó như thế này và nó hoạt động, nhưng có một số vấn đề ... ví dụ tôi vừa đăng ký "live.it" (phiên bản tiếng Ý live.com của Microsoft).

Tôi không thể giả sử rằng nếu người dùng đã xác thực email với một tên miền cụ thể thì việc đặt mọi người dùng có cùng domain_mail vào cùng một nhóm là an toàn.

Ví dụ: nếu tôi đăng ký với me @ gmail, tôi không muốn cho phép người dùng đăng ký "gmail.com" có tên miền riêng.

Tôi muốn tránh sử dụng các phương pháp như "đặt tệp html vào thư mục gốc của tên miền" hoặc "thiết lập bản ghi TXT" vì vậy tôi đã tự hỏi tôi nên làm thế nào.


11
Tại sao yêu cầu đặt một tập tin trong thư mục gốc của tên miền là một vấn đề đối với bạn? Google Webmaster Tools thực hiện chính xác điều đó. Hơn nữa, bạn không cần phải yêu cầu một tệp vĩnh viễn: người dùng đặt nó trên máy chủ, bạn thực hiện kiểm tra và tệp có thể bị xóa.
Arseni Mourzenko

9
Nếu thiết lập của bạn sai đến mức người dùng từ bên ngoài không thể truy cập trang web chính của bạn, bạn nên quan tâm đến việc thiết lập và đổ lỗi cho hệ thống của bạn, thay vì lo ngại bằng cách thêm trang web của bạn vào Google Webmaster Tools và đổ lỗi cho Google.
Arseni Mourzenko

1
Thay vì cho họ một cách làm việc và những gì họ đã sử dụng nhiều lần trước đây?
Arseni Mourzenko

6
@FezVrasta: Hãy nhớ rằng bạn có hai mục tiêu: cho phép truy cập vào người dùng được ủy quyền và từ chối quyền truy cập vào người dùng trái phép. Việc tạo điều kiện dễ dàng hơn cho người dùng được ủy quyền thường giúp người dùng trái phép cũng dễ dàng hơn.
MSalters

4
Trong trường hợp bạn đi theo lộ trình bản ghi DNS, có lẽ bạn nên sử dụng bản ghi TXT, không phải MX.
Aaron Dufour

Câu trả lời:


20

Tập tin trong thư mục gốc

Đừng loại bỏ khả năng đưa tệp vào thư mục gốc của trang web công ty. Nó hoạt động tốt và được sử dụng rộng rãi: Google Webmaster Tools là một ví dụ về kỹ thuật như vậy. Điều này làm cho cách tiếp cận này hấp dẫn: vì hầu hết người dùng đã biết, nên họ sẽ không bị mất. Ngoài ra, nó không yêu cầu bất kỳ kiến ​​thức kỹ thuật nào, không giống như sửa đổi các bản ghi MX (hầu hết các công ty nhỏ thậm chí sẽ không biết bản ghi MX là gì).

Để tránh gây ô nhiễm thư mục gốc, bạn nên yêu cầu chỉ đặt một tệp khi thực hiện kiểm tra. Khi bạn đã tìm thấy tệp, người dùng có thể xóa tệp đó.

Lưu ý rằng người dùng không có bất kỳ trang web công ty nào sẽ không thể truy cập dịch vụ của bạn, nhưng tôi không nghĩ có nhiều khách hàng trong trường hợp này.

Lưu ý rằng:

  • Bạn nên kiểm tra cả http://example.com/filehttp://www.example.com/file , vì một số trang web được định cấu hình theo cách chúng không hỗ trợ biểu mẫu http://example.com/ .

  • Bạn cũng có thể hỗ trợ HTTPS, vì tôi nghĩ rằng có rất nhiều công ty không có sự chuyển hướng từ HTTP sang HTTPS.

  • Bạn không nên chấp nhận bất kỳ tên miền cấp ba nào khác, chẳng hạn như http://mysite.example.com/ , vì điều này sẽ giúp người nào đó đã mua tên miền cấp ba có thể tuyên bố rằng mình là chủ sở hữu của tên miền cấp hai ví dụ.com .

Gửi một e-mail

Gửi một e-mail với liên kết bí mật là khá khó khăn. Bạn không thể làm điều đó với Firstname.lastname@example.com, bởi vì một người nhất định có thể không có địa chỉ e-mail công ty (đây thường là trường hợp khởi nghiệp, nơi mọi người thích sử dụng địa chỉ cá nhân của họ).

Sử dụng e-mail như admin@example.com sẽ không hoạt động trong một số trường hợp.

  • Đầu tiên, luôn có các công ty không có postmaster@example.com, admin@example.com, v.v., nhưng có địa chỉ email "hệ thống" cụ thể của họ mà bạn chưa đưa vào danh sách trắng. Xem xét cụ thể các công ty nước ngoài; ví dụ, ở Pháp, không có gì lạ khi sử dụng " Ad quản lý eu r" thay vì "Quản trị viên", bao gồm cả địa chỉ email và tên tài khoản.

  • Thứ hai, nhiều công ty nhỏ không truy cập và không biết cách truy cập email hệ thống của họ. Họ trả tiền thậm chí không biết họ có lạm dụng@example.com với hàng trăm e-mail khẩn cấp đang chờ trả lời.

    Vì lý do tương tự, bạn không thể căn cứ vào hồ sơ WHOIS cho địa chỉ email.


Điều gì về việc gửi email xác thực cho người dùng như "thông tin @", "quản trị viên @" "bưu điện @"?
Fez Vrasta

@FezVrasta - địa chỉ email cực kỳ dễ bị giả mạo.
Oded

Tôi có nghĩa là "Tôi gửi email đến thông tin @ với một liên kết xác nhận bên trong nó"
Fez Vrasta

6
@FezVrasta - một tên miền có thể không có bất kỳ máy chủ email nào được liên kết với nó và nếu có, không có gì đảm bảo rằng một info@(hoặc bất kỳ địa chỉ địa phương nào) sẽ được xác định trên đó, hoặc nó sẽ có một địa chỉ bắt được theo dõi.
Oded

3
"Đăng ký tên miền email của họ để mọi người dùng đăng ký với email của tên miền đã cho sẽ tự động được đưa vào nhóm công ty.". Xin lỗi, nhưng câu hỏi làm rõ rằng bạn có thể giả sử một máy chủ email. Sự thay thế này giả định một máy chủ web, không phải là một máy chủ nhất định.
MSalters

17

Câu hỏi có hiệu lực: "Sở hữu một tên miền email có nghĩa là gì?".

Sở hữu một trang web được xác định bởi khả năng đặt một tập tin vào thư mục gốc . Người dùng thông thường có thể đặt một tập tin http://example.com/~user42/validation.txtnhưng không bật http://example.com/validation.txt.

Đối với email, không có hệ thống phân cấp như vậy. Tuy nhiên, postmasterđịa chỉ là đặc biệt. (Dành riêng cho mỗi RFC2142 ) Bạn sẽ không thể tạo postmaster@gmail.com. Do đó, khả năng tạo và / hoặc truy cập postmaster@là bằng chứng bạn cần cho quyền sở hữu tên miền email.


1
Là sự đặc biệt đó của một thông số kỹ thuật, một thành phần tích hợp phổ biến của các máy chủ email, hay chỉ là một quy ước?
DougM

8
@DougM: Dành riêng cho mỗi RFC 2142
MSalters

Cảm ơn bạn, vì vậy, một tùy chọn bổ sung sẽ là việc sử dụng postmaster @, cảm ơn
Fez Vrasta

5
@MSalters: Bạn nên đặt RFC đó vào câu trả lời của bạn
Bergi

1
Đối với nhiều postmaster @ domain đơn giản là không đi đúng người hoặc bất cứ ai cả. Mặc dù về mặt kỹ thuật có thể được coi là một cách để xác định quyền sở hữu tên miền, nhưng thực tế bạn không thể sử dụng điều này.
JamesRyan

10

Thấy trong các nhận xét của bạn rằng bạn có thể không thích sử dụng phương pháp tập tin gốc trong trang web, một phương án có thể hoạt động là

Xác minh quyền sở hữu bằng WHOIS

Bạn sẽ cần phải nhận được tên miền được yêu cầu (ví dụ stackexchange.com) và một trong những email được liệt kê trong đầu ra WHOIS cho tên miền đó . (Lưu ý rằng điều này sẽ không hoạt động đối với đăng ký bí mật / riêng tư, nhưng nếu đối tượng của bạn là tập đoàn thì điều này thường không thành vấn đề)

Ví dụ:

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: sysadmin-team@stackoverflow.com 
Admin Name: Sysadmin Team 
Admin Organization: Stack Exchange, Inc. 
...
Admin Email: sysadmin-team@stackoverflow.com 
Tech Name: Sysadmin Team 
...
Tech Email: sysadmin-team@stackoverflow.com 
Name Server: cf-dns02.stackexchange.com 
Name Server: cf-dns01.stackexchange.com 
DNSSEC: NotApplicable 

Bạn thậm chí có thể thực hiện whoistra cứu tương tác và cung cấp danh sách thả xuống của các email hợp lệ (trong trường hợp này là chỉ sysadmin-team@stackoverflow.com). Sau đó, bạn sẽ gửi mã xác minh / liên kết đến email đã chọn.


Đây là những gì được thực hiện khi xác nhận một số ssl certs. Nó có khả năng không phải là một cách tiếp cận tự động. Nhưng sẽ làm cho một lựa chọn thứ cấp tốt.
GrandmasterB

@GrandmasterB Tôi không thấy lý do tại sao nó không thể được tự động hóa: tra cứu whois, grep các email, cho phép người dùng chọn một, gửi mã xác thực trong email.
Kỹ thuật số Chris

Tôi đã thử nghiệm theo cách này với hai khách hàng lớn nhất của tôi và cả hai đều không có email hợp lệ trong whois (một người không có email, người kia có email hỗ trợ kỹ thuật của người đăng ký tên miền ...
Fez Vrasta

1
Bằng cách này, cái này có thể được thêm vào như là một thay thế.
Fez Vrasta

6

Yêu cầu người dùng của bạn thêm bản ghi TXT vào tên miền của họ bằng tham chiếu đến tài khoản người dùng của họ trên trang web của bạn (tên người dùng, ID hoặc mã thông báo tùy ý được tạo khi yêu cầu người dùng xác minh tên miền của họ).

Tôi nhớ đã thêm một bản ghi được gọi adn_verification=<my user name>trên mạng xã hội để hiển thị tên miền của mình khi được xác minh và tôi nghĩ rằng nó khá gọn gàng và không yêu cầu bạn phải có tên miền trỏ đến máy chủ web.


Một phần lớn người dùng sẽ không biết bản ghi TXT là gì và những người biết sẽ không nhất thiết phải đủ kiến ​​thức để thiết lập nó.
Arseni Mourzenko

1
@MainMa nó vẫn là một tính năng tốt để thực hiện.

1
+1. Chỉ vì bạn có một tên miền, không có nghĩa là bạn có một máy chủ web đang chạy trên đó (mặc dù trong trường hợp cụ thể này, một công ty có thể sẽ luôn có một trang web :)).
Matt

FWIW, đây là cách tiếp cận Microsoft sử dụng nếu bạn muốn có một miền tùy chỉnh cho Office 365.
Casey

2

Để thêm vào các đề xuất đã có trên trang: Tôi khuyên bạn nên cung cấp cho người dùng các tùy chọn trong cách anh ta xác thực tên miền của mình. Các đề xuất khác trên trang đều hoàn toàn có thể sử dụng được, nhưng đôi khi bạn rơi vào tình huống ai đó muốn xác minh tên miền của họ chỉ có quyền truy cập hạn chế vào máy chủ hoặc thậm chí trang web của họ. Ví dụ: người dùng của bạn có thể không thể thêm các bản ghi tên miền hoặc tệp trong thư mục gốc.

Ví dụ: Troy Hunt cho phép người dùng tìm kiếm toàn bộ tên miền trong cơ sở dữ liệu các tài khoản bị xâm nhập của mình, nhưng trước tiên bạn cần xác minh. Ông cho người dùng lựa chọn 4 phương pháp:

  1. Qua email;
  2. thông qua thẻ meta;
  3. Một tập tin tải lên;
  4. một bản ghi TXT.

Trong cả 4 trường hợp này, anh ta yêu cầu người dùng nhập một giá trị cụ thể ở đâu đó mà anh ta xác minh.

Lời giải thích có tại http://www.troyhunt.com/2014/01/im-pwned-youre-pwned-were-all-pwned.html .


cảm ơn nhưng làm thế nào để xác minh email hoạt động? Làm cách nào họ có thể ngăn tôi xác thực tên miền "gmail.com" hoặc "hotmail.com"? (hoặc tốt hơn, một số dịch vụ webmail miễn phí không biết).
Fez Vrasta

Bất kể bạn làm gì, trừ khi bạn nói rõ ràng "những địa chỉ này KHÔNG BAO GIỜ được xác thực", cơ hội luôn tồn tại là nhà cung cấp dịch vụ webmail đăng ký tên miền của riêng họ và bạn không thực sự có thể làm gì về nó. Điều duy nhất bạn có thể làm là ngăn chặn một số tên miền được xác thực hoàn toàn. Bạn không cần phải ngăn chặn xác thực của mailprovider.com, bạn chỉ cần ngăn joe.shmuck@mailprovider.com quản lý để xác thực toàn bộ tên miền mailprovider.com trên tên của mình.
Nzall

ok nhưng tôi không có cách nào để biết email là một phần của công ty hay dịch vụ webmail miễn phí.
Fez Vrasta

1
Bạn sẽ phải duy trì một danh sách trắng cho điều đó, tôi sợ. một lựa chọn khác là mọi miền phải được con người chấp thuận. Tôi biết điều này làm cho nó trở nên rắc rối hơn cho những người mới nộp đơn, nhưng sự chấp thuận chỉ cần xảy ra một lần. Sau đó, bạn biết rằng tên miền đó đã được phê duyệt và không phải là dịch vụ webmail miễn phí.
Nzall

0

Bạn có thể đủ khả năng tránh việc sử dụng webmail miễn phí để đăng ký?

Đó là những gì Brium không: bạn không thể đăng nhập với một @gmail.com, @live.com, vv e-mail - bạn phải sử dụng của riêng bạn.

Và nó co cụm bạn bởi điều này.

Nếu bạn đang nhắm mục tiêu các doanh nghiệp, đó nên là một cách tốt để đi.

Bạn vẫn có thể gặp vấn đề khi biết ông chủ là ai (giả sử là quản trị viên của nhóm đó), nhưng điều đó có thể không quan trọng - ông chủ có lẽ nên có công cụ để nói với bất kỳ nhân viên nào chuyển quyền sở hữu cho anh ta, cung cấp cho ai đó đăng ký trước sếp.


3
Làm thế nào bạn sẽ kiểm tra rằng một tên miền là một webmail miễn phí? Có ít nhất hàng trăm người trong số họ.
Svick

Tôi đã viết điều tương tự :)
Fez Vrasta

Đây là một dự án không hoạt động, liệt kê một loạt chúng: github.com/tarr11/Webmail-Domains . Là nó quan trọng có ai trong số họ trượt? Là nó không đủ để bao phủ phần lớn người dùng (Gmail, Live, Yahoo và tương tự)? Tôi không biết phần mềm của bạn làm gì, nhưng - nó có hữu ích cho ai đó để tránh giới hạn này không? Phần mềm sẽ hữu ích nếu anh ta ở một mình trong nhóm - hoặc không có đồng nghiệp?
mgarciaisaia

Nó sẽ cho phép truy cập cơ bản vào các thông tin được tải lên phần mềm của tôi để việc một số người dùng không mong muốn trong nhóm sai có thể gây ra sự cố. Nhân tiện, đây có thể là một giải pháp vì sẽ là vấn đề của chủ sở hữu dữ liệu nếu anh ta đăng ký một tên miền không sở hữu ... Tôi nghĩ
Fez Vrasta
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.