จะยืนยันได้อย่างไรว่ามีคนเป็นเจ้าของเว็บไซต์?


10

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

นี่คือวิธีที่ฉันเห็น:

  • อัปโหลดไฟล์ HTML ที่มีชื่อคลุมเครือไปยังไดเรกทอรีรากพร้อมเนื้อหาที่กำหนด
  • รวมเมตาแท็กหรือความคิดเห็นอื่นไว้ในแหล่งที่มาของโฮมเพจ
  • ส่งอีเมลไปยังที่อยู่@domainwearetryingtovalidate.tldพร้อมลิงก์การยืนยัน
  • ตรวจสอบระเบียน CNAME หรือ TXT
  • ตรวจสอบบันทึก WHOIS
  • ตรวจสอบทางกายภาพโดยการโทรหรือส่งอีเมลสายสนับสนุนการปรับปรุงระเบียนด้วยตนเอง

และนี่คือปัญหาของวิธีการเหล่านี้ตามลำดับ:

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

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

ฉันวางแผนที่จะใช้สิ่งเหล่านี้ใน PHP


3
นี่เป็นคำถามที่แน่นอนที่สุดในการเขียนโปรแกรม หากตั้งใจจะเป็นผู้ดูแลเว็บฉันจะเอามันไปไว้ที่นั่น

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

1
@ rlb.usa มันจะเป็นคำถามสำหรับเว็บมาสเตอร์ถ้าผมถามวิธีการเพิ่มระเบียน CNAME เพื่อโดเมนของฉันเพื่อตรวจสอบว่าฉันเป็นเจ้าของมันสำหรับบริการเฉพาะ

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

1
@Cyclone: ผมกำลังทำงานให้กับคุณได้ฟรีโดยอาศัยอำนาจตามความจริงที่ว่าฉันสมบูรณ์เสียเวลาของฉันที่เอื้อต่อคำถามนี้
การแข่งขัน Lightness ใน Orbit

คำตอบ:


9

ฉันคิดอย่างแน่นอน

  • อัปโหลดไฟล์ html ที่มีชื่อคลุมเครือไปยังไดเรกทอรีรากที่มีเนื้อหาที่กำหนด

เป็นวิธีที่ดีที่สุดที่จะไป จริง ๆ แล้วฉันต้องทำสิ่งนี้ครั้งเดียว และฉันไม่คิดว่าการกำหนดค่าเว็บไซต์จำนวนมากจะป้องกันไม่ให้คุณทำสิ่งนี้

หากคุณเป็นกังวลเกี่ยวกับเรื่องนี้ทำไมไม่อนุญาตตัวเลือกทั้งหมด (ปลอดภัย)


เกี่ยวกับความคิดเห็นของคุณ:

ได้ แต่ด้วยระบบ MVC (เช่นรหัส) มันอาจเป็นเรื่องยุ่งยากที่จะรู้วิธีเข้าถึงไฟล์ทางกายภาพซึ่งไม่ได้เป็นส่วนหนึ่งของระบบหลัก

ในกรณีที่หายากเหล่านี้ให้ผู้ดูแลระบบเหล่านั้นไปกับระเบียน CNAME / TXT หรือเรียกพวกเขาว่า :-)


1
ใช่ .. นั่นคือสิ่งที่ฉันต้องทำ ;-)

2
สองรายการแรกที่ฉันระบุไว้นั้นมาจากเครื่องมือเว็บมาสเตอร์ของ Google

@ พายุไซโคลนฉันเห็นด้วยกับคุณว่าคนที่ผ่านมาดูเหมือนจะปลอดภัยกว่าคนที่สอง

สิ่งที่แย่มากเกี่ยวกับเรื่องนี้ก็คือคุณต้องจบด้วยไฟล์ที่มีชื่อไม่สุภาพหนึ่งไฟล์ต่อบริการ มันไม่ได้เป็นข้อบกพร่องที่น่ากลัว แต่มีทางเลือกที่สะอาดกว่า
Bobby Jack

อืม .. ฉันคิดว่าคุณใส่ไฟล์ที่มีชื่อคลุมเครือไว้ที่นั่นชั่วคราวระหว่างกระบวนการตรวจสอบ
aioobe

7

การอัปโหลดไฟล์ที่มีชื่อคลุมเครือเป็นวิธีที่จะไป

คุณเขียนข้อเสียเปรียบคือพวกเขาอาจไม่ได้รับอนุญาตให้อัปโหลดไฟล์ไปยังราก ในกรณีนี้หมายความว่าพวกเขาไม่ได้เป็นเจ้าของเว็บไซต์ซึ่งเป็นสิ่งที่คุณพยายามค้นหา


เผง คุณไม่จำเป็นต้องเข้าถึง "root" ไปยังเซิร์ฟเวอร์เช่นภายนอกhtmlหรือwwwโฟลเดอร์
Chris Laplante

ฉันหมายความว่าไม่ได้รับอนุญาตในกฎการเขียนซ้ำอาจทำให้ยากหรือซับซ้อนในการอัปโหลดไฟล์

@Cyclone จริง แต่ฉันคิดว่ามันค่อนข้างยากที่จะไม่อนุญาตให้เข้าถึงไฟล์ HTML จริง

ใช่ แต่ด้วยระบบ MVC (เช่น codeigniter) ก็สามารถรบกวนที่จะคิดออกวิธีการเข้าถึงไฟล์ทางกายภาพซึ่งไม่ได้เป็นส่วนหนึ่งของระบบหลัก

ฉันคิดว่า CI ยังคงอนุญาตให้เข้าถึงไฟล์ HTML จริง แต่ในกรณีที่คุณสามารถอนุญาตเมตาแท็กวิธีการเพื่อให้ผู้ใช้ของคุณจะไม่ติดในกรณีที่มีปัญหากับไฟล์. htaccess หรือกรอบ MVC ของพวกเขา

1

ฉันอยากจะแนะนำให้ใช้เมตาแท็ก ...

  • รวมเมตาแท็ก

0

ส่วนตัวฉันจะไปกับตัวเลือกอีเมลอัตโนมัติ

ขอให้ผู้ใช้ป้อน URL และที่อยู่อีเมลตรวจสอบว่าโดเมนเหมือนกันในทั้งสองกรณี ใช้ระบบเดียวกับระบบรีเซ็ตรหัสผ่าน:

  • สร้างแฮชสุ่มซึ่งประกอบด้วย microtime และโดเมนปัจจุบันบางส่วน
  • จัดเก็บแฮชในฐานข้อมูล
  • ส่งอีเมลพร้อมลิงก์สำหรับการยืนยันให้ผู้ใช้โดยที่พารามิเตอร์ 'id' คือแฮช
  • ตอนนี้ผู้ใช้ได้รับการยืนยันแล้ว (ลบแถวออกจากฐานข้อมูล)

เพื่อความปลอดภัยที่เพิ่มขึ้นให้เก็บเวลาที่แฮชถูกสร้างขึ้นจากนั้นให้หมดเวลาหลังจากหนึ่งหรือสองชั่วโมง


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.