จะตรวจสอบความถูกต้องของโดเมนที่ผู้ใช้เป็นเจ้าของได้อย่างไร


10

ฉันกำลังเขียนซอฟต์แวร์ซึ่งส่วนใหญ่จะใช้โดย บริษัท

ฉันมีความคิดที่จะให้ บริษัท ลงทะเบียนโดเมนอีเมลของพวกเขาเพื่อให้ผู้ใช้ทุกคนที่ลงทะเบียนด้วยอีเมลของโดเมนที่กำหนดจะถูกใส่ในกลุ่ม บริษัท โดยอัตโนมัติ

ฉันรู้ว่า Slack ทำสิ่งนี้และใช้งานได้ แต่มีปัญหาบางอย่าง ... ตัวอย่างเช่นฉันเพิ่งลงทะเบียน "live.it" (เวอร์ชั่นอิตาลี live.com โดย Microsoft)

ฉันไม่สามารถสันนิษฐานได้ว่าหากผู้ใช้ตรวจสอบอีเมลด้วยโดเมนที่ระบุแล้วจะปลอดภัยที่จะให้ผู้ใช้ทุกคนมี domain_mail เดียวกันในกลุ่มเดียวกัน

ตัวอย่างเช่นถ้าฉันลงทะเบียนกับ me@gmail.com ฉันไม่ต้องการให้ผู้ใช้ลงทะเบียน "gmail.com" มีโดเมนของตัวเอง

ฉันต้องการหลีกเลี่ยงการใช้วิธีการเช่น "ใส่ไฟล์ html ในรูทของโดเมน" หรือ "ตั้งค่าระเบียน TXT" ดังนั้นฉันจึงสงสัยว่าฉันควรทำอย่างไร


11
ทำไมการขอให้วางไฟล์ลงในรูทของโดเมนจึงเป็นปัญหาสำหรับคุณ Google เครื่องมือของผู้ดูแลเว็บทำเช่นนั้นทุกประการ ยิ่งกว่านั้นคุณไม่จำเป็นต้องขอไฟล์ถาวร: ผู้ใช้วางมันไว้บนเซิร์ฟเวอร์คุณทำการตรวจสอบและสามารถลบไฟล์ได้
Arseni Mourzenko

9
หากการตั้งค่าของคุณผิดปกติจนผู้ใช้จากภายนอกไม่สามารถเข้าถึงเว็บไซต์หลักของคุณได้คุณควรกังวลเกี่ยวกับการตั้งค่าและตำหนิ sysadmins ของคุณแทนที่จะเป็นกังวลโดยการเพิ่มเว็บไซต์ของคุณไปที่ Google เครื่องมือของผู้ดูแลเว็บและตำหนิ Google
Arseni Mourzenko

1
แทนที่จะให้วิธีที่ใช้งานได้กับที่เคยใช้มาแล้วหลายครั้งแล้ว
Arseni Mourzenko

6
@FezVrasta: โปรดทราบว่าคุณมีสองเป้าหมาย: อนุญาตการเข้าถึงผู้ใช้ที่ได้รับอนุญาตและปฏิเสธการเข้าถึงผู้ใช้ที่ไม่ได้รับอนุญาต การทำให้ง่ายขึ้นสำหรับผู้ใช้ที่ได้รับอนุญาตโดยทั่วไปจะทำให้ง่ายขึ้นสำหรับผู้ใช้ที่ไม่ได้รับอนุญาตด้วย
MSalters

4
ในกรณีที่คุณไปเส้นทางระเบียน DNS คุณควรใช้ระเบียน TXT ไม่ใช่ MX
Aaron Dufour

คำตอบ:


20

ไฟล์ในไดเรกทอรีราก

อย่าทิ้งความเป็นไปได้ของการวางไฟล์ในไดเรกทอรีรากของเว็บไซต์องค์กร มันใช้งานได้ดีและใช้กันอย่างแพร่หลาย: Google Webmaster Tools เป็นหนึ่งในตัวอย่างของเทคนิคดังกล่าว วิธีนี้ทำให้วิธีการนี้น่าสนใจเนื่องจากผู้ใช้ส่วนใหญ่รู้อยู่แล้วพวกเขาจะไม่หลงทาง นอกจากนี้มันไม่จำเป็นต้องมีความรู้ด้านเทคนิคใด ๆ ซึ่งแตกต่างจากการแก้ไขระเบียน MX (บริษัท ขนาดเล็กส่วนใหญ่จะไม่รู้ด้วยซ้ำว่าระเบียน MX คืออะไร)

เพื่อหลีกเลี่ยงการทำให้สกปรกไดเรกทอรีรากคุณควรขอให้ใส่ไฟล์เฉพาะเมื่อทำการตรวจสอบของคุณ เมื่อคุณพบไฟล์แล้วผู้ใช้อาจจะสามารถลบออกได้

โปรดทราบว่าผู้ใช้ที่ไม่มีเว็บไซต์ขององค์กรจะไม่สามารถเข้าถึงบริการของคุณ แต่ฉันไม่คิดว่ามีลูกค้าจำนวนมากในกรณีนี้

โปรดทราบว่า:

  • คุณควรตรวจสอบทั้งhttp://example.com/fileและhttp://www.example.com/fileเนื่องจากบางเว็บไซต์มีการกำหนดค่าในลักษณะที่ไม่สนับสนุนhttp://example.com/แบบฟอร์ม

  • คุณอาจสนับสนุน HTTPS เช่นกันเนื่องจากฉันไม่คิดว่ามี บริษัท จำนวนมากที่ไม่มีการเปลี่ยนเส้นทางจาก HTTP ไปยัง HTTPS

  • คุณไม่ควรยอมรับโดเมนระดับที่สามอื่น ๆ เช่นhttp://mysite.example.com/เพราะจะทำให้เป็นไปได้สำหรับผู้ที่ซื้อโดเมนระดับที่สามเพื่ออ้างว่าเขาเป็นเจ้าของโดเมนระดับที่สองexample.com

ส่งอีเมล

การส่งอีเมลพร้อมลิงก์ลับเป็นปัญหา คุณไม่สามารถทำได้กับ firstname.lastname@example.com เนื่องจากบุคคลที่กำหนดอาจไม่มีที่อยู่อีเมลขององค์กร (ซึ่งมักเป็นกรณีของการเริ่มต้นระบบซึ่งผู้ใช้มักใช้ที่อยู่ส่วนบุคคล)

การใช้อีเมลเช่น admin@example.com จะไม่ทำงานในบางกรณี

  • อันดับแรกมีเสมอ บริษัท ที่ไม่มี postmaster@example.com, admin@example.com เป็นต้น แต่มีที่อยู่อีเมล "ระบบ" โดยเฉพาะซึ่งคุณไม่ได้อยู่ในรายการที่อนุญาตพิเศษ พิจารณาเฉพาะ บริษัท ต่างประเทศ ตัวอย่างเช่นในฝรั่งเศสมันไม่แปลกที่จะใช้ "Administrat eu r" แทน "Administrator" รวมถึงที่อยู่อีเมลและชื่อบัญชี

  • ประการที่สอง บริษัท ขนาดเล็กจำนวนมากไม่สามารถเข้าถึงและไม่ทราบวิธีการเข้าถึงอีเมลระบบของพวกเขา พวกเขาจ่ายเงินโดยไม่รู้ตัวว่าพวกเขามี abuse@example.com โดยมีอีเมลเร่งด่วนหลายร้อยรายการที่รอการตอบกลับ

    ด้วยเหตุผลเดียวกันนี้คุณไม่สามารถอ้างอิงฐานข้อมูล WHOIS สำหรับที่อยู่อีเมลได้


ส่งอีเมลยืนยันไปยังผู้ใช้เช่น "info @", "administrator @" "postmaster @" หรือไม่
Fez Vrasta

@FezVrasta - ที่อยู่อีเมลปลอมได้ง่ายอย่างเหลือเชื่อ
Oded

ฉันหมายถึง "ฉันส่งอีเมลไปที่ info @ พร้อมลิงค์ยืนยันภายใน"
Fez Vrasta

6
@FezVrasta - โดเมนอาจไม่มีเซิร์ฟเวอร์อีเมลใด ๆ ที่เกี่ยวข้องและถ้าเป็นเช่นนั้นก็ไม่มีการรับประกันว่าinfo@จะมีการกำหนด (หรือที่อยู่ในท้องถิ่น) ใด ๆ ในนั้นหรือว่าจะมีที่อยู่ catch-all ที่ได้รับการตรวจสอบ
Oded

3
"ลงทะเบียนโดเมนอีเมลของตนเพื่อให้ผู้ใช้ทุกคนที่ลงทะเบียนด้วยอีเมลของโดเมนที่ระบุจะถูกใส่ในกลุ่ม บริษัท โดยอัตโนมัติ" ขออภัยคำถามชัดเจนว่าคุณสามารถถือว่าเซิร์ฟเวอร์อีเมล ทางเลือกนี้จะถือว่าเว็บเซิร์ฟเวอร์ซึ่งไม่ได้ระบุไว้
MSalters

17

คำถามมีผลบังคับใช้: " การเป็นเจ้าของโดเมนอีเมลหมายความว่าอะไร"

การเป็นเจ้าของเว็บไซต์ถูกกำหนดโดยความสามารถในการวางไฟล์ในรูท ผู้ใช้ทั่วไปสามารถใส่ไฟล์http://example.com/~user42/validation.txtได้ แต่ไม่สามารถเปิดhttp://example.com/validation.txtได้

สำหรับอีเมลไม่มีลำดับชั้นดังกล่าว อย่างไรก็ตามที่postmasterอยู่เป็นพิเศษ (สงวนไว้สำหรับRFC2142 ) คุณจะไม่สามารถสร้างpostmaster@gmail.comได้ ดังนั้นความสามารถในการสร้างและ / หรือการเข้าถึงpostmaster@เป็นหลักฐานที่คุณต้องการสำหรับการเป็นเจ้าของโดเมนอีเมล


1
ความพิเศษนั้นเป็นส่วนหนึ่งของข้อมูลจำเพาะส่วนประกอบในตัวทั่วไปของเซิร์ฟเวอร์อีเมลหรือเพียงแค่การประชุมหรือไม่?
DougM

8
@DougM: จองต่อ RFC 2142
MSalters

ขอบคุณตัวเลือกเพิ่มเติมคือการใช้ postmaster @ ขอบคุณ
Fez Vrasta

5
@MSalters: คุณควรใส่ RFC นั้นไว้ในคำตอบของคุณ
Bergi

1
สำหรับโดเมน postmaster @ จำนวนมากไม่ได้ไปถูกคนหรือใครก็ตามเลย แม้ว่าในทางเทคนิคแล้วมันอาจจะเป็นวิธีการตรวจสอบความเป็นเจ้าของโดเมนที่คุณไม่สามารถใช้งานได้จริง
JamesRyan

10

เห็นในความคิดเห็นของคุณว่าคุณอาจไม่ต้องการใช้วิธีการ file-in-root-of-website ทางเลือกที่อาจใช้งานได้คือ

ยืนยันความเป็นเจ้าของโดยใช้ WHOIS

คุณจะต้องได้รับการร้องขอโดเมน (ตัวอย่างstackexchange.com) และหนึ่งในอีเมลที่ระบุไว้ในผลลัพธ์ WHOIS สำหรับโดเมนนั้น (โปรดทราบว่าวิธีนี้ใช้ไม่ได้กับการลงทะเบียนลับ / ส่วนตัว แต่หากผู้ชมของคุณเป็น บริษัท มักจะไม่เป็นปัญหา)

ตัวอย่างเช่น:

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 

คุณสามารถทำการwhoisค้นหาแบบโต้ตอบและให้รายการแบบเลื่อนลงของอีเมลที่ถูกต้อง (ในกรณีนี้เพียงsysadmin-team@stackoverflow.com) จากนั้นคุณจะส่งรหัสยืนยัน / ลิงก์ไปยังอีเมลที่เลือก


นี่คือสิ่งที่ทำเมื่อตรวจสอบความถูกต้องของ ssl certs มันน่าจะไม่ใช่วิธีอัตโนมัติ แต่จะทำให้เป็นตัวเลือกรองที่ดี
GrandmasterB

@GrandmasterB ฉันไม่เห็นสาเหตุที่เป็นไปไม่ได้อัตโนมัติ: การค้นหา Whois, grep อีเมล, ให้ผู้ใช้เลือกหนึ่งส่งรหัสการตรวจสอบในอีเมล
คริสดิจิตอล

ฉันได้ทดสอบวิธีนี้กับลูกค้ารายใหญ่ที่สุดของฉันสองคนและทั้งคู่ไม่มีอีเมลที่ถูกต้องใน whois (หนึ่งไม่มีอีเมลอื่น ๆ มีอีเมลของการสนับสนุนเทคโนโลยีของผู้จดทะเบียนโดเมน ...
Fez Vrasta

1
โดยวิธีนี้สามารถเพิ่มเป็นทางเลือก
Fez Vrasta

6

ขอให้ผู้ใช้ของคุณเพิ่มระเบียน TXT ในโดเมนของพวกเขาโดยอ้างอิงถึงบัญชีผู้ใช้ของพวกเขาในเว็บไซต์ของคุณ (ชื่อผู้ใช้ ID หรือโทเค็นที่สร้างขึ้นโดยพลการเมื่อขอให้ผู้ใช้ยืนยันโดเมน)

ฉันจำการเพิ่มระเบียนที่เรียกว่าadn_verification=<my user name>บนเครือข่ายสังคมเพื่อแสดงโดเมนของฉันว่าผ่านการตรวจสอบแล้วและฉันคิดว่ามันค่อนข้างเรียบร้อยและไม่ต้องการให้คุณมีโดเมนที่ชี้ไปยังเว็บเซิร์ฟเวอร์


ส่วนใหญ่ของผู้ใช้จะไม่ทราบว่าระเบียน TXT คืออะไรและผู้ที่รู้ไม่จำเป็นต้องมีความรู้เพียงพอในการตั้งค่า
Arseni Mourzenko

1
@MainMa ยังคงเป็นคุณสมบัติที่ดีในการใช้งาน

1
+1 เพียงเพราะคุณมีโดเมนไม่ได้หมายความว่าคุณมีเว็บเซิร์ฟเวอร์ที่ทำงานอยู่ (แม้ว่าในกรณีนี้ บริษัท อาจมีเว็บไซต์ :)
แมตต์

FWIW นี่เป็นวิธีการที่ Microsoft ใช้หากคุณต้องการโดเมนที่กำหนดเองสำหรับ Office 365
Casey

2

ในการเพิ่มคำแนะนำที่มีอยู่แล้วในหน้า: ฉันแนะนำให้ตัวเลือกผู้ใช้ในวิธีการตรวจสอบโดเมนของเขา คำแนะนำอื่น ๆ ในหน้านั้นสามารถใช้งานได้อย่างสมบูรณ์แบบ แต่บางครั้งคุณก็อยู่ในสถานการณ์ที่คนที่ต้องการยืนยันโดเมนของตนมีการเข้าถึงเซิร์ฟเวอร์ของพวกเขาหรือแม้แต่เว็บไซต์ของพวกเขาอย่าง จำกัด ตัวอย่างเช่นผู้ใช้ของคุณอาจไม่สามารถเพิ่มระเบียนโดเมนหรือไฟล์ในโดเมนรูท

ตัวอย่างเช่น Troy Hunt อนุญาตให้ผู้ใช้ค้นหาทั้งโดเมนในฐานข้อมูลของบัญชีที่ถูกบุกรุก แต่คุณต้องยืนยันก่อน เขาให้ผู้ใช้มีทางเลือก 4 วิธี:

  1. ทางอีเมล;
  2. ผ่านเมตาแท็ก
  3. อัพโหลดไฟล์
  4. บันทึก TXT

ในทั้ง 4 กรณีนี้เขาต้องการให้ผู้ใช้ป้อนค่าเฉพาะที่ซึ่งเขายืนยัน

คำอธิบายที่http://www.troyhunt.com/2014/01/im-pwned-youre-pwned-were-all-pwned.html


ขอบคุณ แต่การยืนยันอีเมลทำงานอย่างไร พวกเขาจะป้องกันไม่ให้ฉันตรวจสอบโดเมน "gmail.com" หรือ "hotmail.com" ได้อย่างไร (หรือดีกว่ามีบริการเว็บเมลฟรีที่ไม่ทราบ)
Fez Vrasta

ไม่ว่าคุณจะทำอะไรนอกเสียจากว่าคุณจะพูดอย่างชัดเจนว่า "ที่อยู่เหล่านี้ไม่สามารถตรวจสอบได้" โอกาสที่ผู้ให้บริการเว็บเมล์จะลงทะเบียนโดเมนของตัวเองอยู่เสมอและมีไม่มากที่คุณสามารถทำได้ สิ่งเดียวที่คุณทำได้คือป้องกันไม่ให้โดเมนบางโดเมนผ่านการตรวจสอบความถูกต้องทั้งหมด คุณไม่จำเป็นต้องป้องกันการตรวจสอบความถูกต้องของ mailprovider.com คุณเพียงแค่ต้องป้องกัน joe.shmuck@mailprovider.com ที่จัดการเพื่อตรวจสอบความถูกต้องของโดเมน mailprovider.com ทั้งหมดในชื่อของเขา
Nzall

ตกลง แต่ฉันไม่มีทางทราบว่าอีเมลเป็นส่วนหนึ่งของ บริษัท หรือบริการอีเมลฟรี
Fez Vrasta

1
คุณจะต้องรักษาบัญชีขาวสำหรับสิ่งนั้นฉันกลัว ตัวเลือกอื่นคือทุกโดเมนจะต้องได้รับการอนุมัติจากมนุษย์ ฉันรู้ว่าสิ่งนี้ทำให้ผู้สมัครรายใหม่ลำบากขึ้น แต่การอนุมัติต้องเกิดขึ้นเพียงครั้งเดียว หลังจากนั้นคุณทราบว่าโดเมนดังกล่าวได้รับการอนุมัติและไม่ใช่บริการเว็บเมลฟรี
Nzall

0

คุณสามารถหลีกเลี่ยงการใช้เว็บเมลฟรีเพื่อลงทะเบียนได้หรือไม่?

นั่นคือสิ่งที่Briumไม่: คุณไม่สามารถลงชื่อเข้ากับ@gmail.com, @live.comฯลฯ E-mail - คุณต้องใช้ของคุณเอง

และมันจะรวมกลุ่มคุณด้วยสิ่งนี้

หากคุณกำหนดเป้าหมายธุรกิจนั่นควรจะเป็นวิธีที่ดี

คุณอาจยังมีปัญหาในการรู้ว่าเจ้านายคือใคร (พูดว่าผู้ดูแลระบบของกลุ่มนั้น) แต่มันอาจไม่สำคัญ - เจ้านายควรมีเครื่องมือในการบอกให้พนักงานคนใดคนหนึ่งโอนความเป็นเจ้าของให้เขา ลงทะเบียนก่อนที่เจ้านาย


3
คุณจะตรวจสอบว่าโดเมนเป็นเว็บเมลฟรีหรือไม่ มีอย่างน้อยหลายร้อยคน
svick

ฉันกำลังเขียนสิ่งเดียวกัน :)
เฟซวิสต้า

นี่เป็นโครงการที่ไม่ให้ใช้งานที่แสดงรายการพวงของพวกเขา: github.com/tarr11/Webmail-Domains มันสำคัญไหมถ้ามีคนใดคนหนึ่งลื่นหลุด? ไม่เพียงพอที่จะครอบคลุมผู้ใช้ส่วนใหญ่ (Gmail, Live, Yahoo, และอื่น ๆ ) ฉันไม่รู้ว่าซอฟต์แวร์ของคุณทำอะไร แต่จะมีประโยชน์สำหรับบางคนที่พยายามหลีกเลี่ยงข้อ จำกัด นี้หรือไม่? ซอฟต์แวร์จะมีประโยชน์หรือไม่หากเขาอยู่คนเดียวในกลุ่ม - หรือไม่มีเพื่อนร่วมงานของเขา?
mgarciaisaia

มันจะช่วยให้สามารถเข้าถึงข้อมูลพื้นฐานที่อัปโหลดไปยังซอฟต์แวร์ของฉันเพื่อให้ผู้ใช้ที่ไม่ต้องการในกลุ่มที่ไม่ถูกต้องอาจทำให้เกิดปัญหา โดยวิธีอาจเป็นวิธีแก้ปัญหาเพราะจะเป็นปัญหาของเจ้าของข้อมูลถ้าเขาลงทะเบียนโดเมนไม่ใช่ของตัวเอง ... ฉันคิดว่า
Fez Vrasta
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.