Bagaimana cara memverifikasi bahwa seseorang memiliki situs web?

10

Saya mencoba memikirkan cara untuk, seaman mungkin, memverifikasi bahwa pengguna memiliki situs web yang mereka klaim miliki.

Berikut beberapa cara yang pernah saya lihat:

  • Unggah file HTML dengan nama tidak jelas ke direktori root dengan konten yang diberikan
  • Sertakan tag meta atau komentar lain di suatu tempat di sumber halaman beranda
  • Kirim email ke alamat @domainwearetryingtovalidate.tlddengan tautan verifikasi
  • Periksa catatan CNAME atau TXT
  • Periksa catatan WHOIS
  • Validasi secara fisik dengan menelepon atau mengirim email ke saluran dukungan, memperbarui catatan secara manual

Dan inilah masalah dengan metode-metode itu, secara berurutan:

  • Beberapa konfigurasi situs web mungkin tidak memungkinkan untuk hanya mengunggah file ke root
  • Desain situs yang buruk memungkinkan pengguna situs itu untuk menambahkan sendiri meta tag ini
  • Situs web yang menyediakan layanan email membuat ini tidak berguna; ambil gmail.comcontoh
  • Itu terlalu rumit bagi sebagian besar pemilik situs web kecil untuk mengetahui caranya
  • Itu bersifat publik; siapa pun dapat mengaku sebagai siapa pun. Belum lagi paling sering tidak akurat.
  • Buang-buang waktu saja

Apakah ada cara lain untuk memverifikasi bahwa pengguna di situs Anda memiliki situs web tertentu? Dari metode yang saya sebutkan, mana yang terbaik dan terburuk? Saya memesannya dari yang terbaik sampai yang terburuk menurut pendapat saya sendiri, tetapi saya ingin melihat apa yang dipikirkan orang lain juga.

Saya berencana menerapkan satu atau lebih dari ini di PHP.

Topan
sumber
3
Ini tentu saja pertanyaan pemrograman. Jika itu dimaksudkan di webmaster, saya taruh di sana.
Untuk solusi otomatis, Anda terjebak pada apa yang Anda daftarkan. Perusahaan besar lainnya (yaitu Google) menggunakan salah satu dari empat opsi pertama. Saya merasa sangat tidak biasa bagi pengguna untuk tidak dapat melakukan salah satu dari empat yang pertama.
1
@ rlb.usa Ini akan menjadi pertanyaan bagi para webmaster jika saya bertanya bagaimana cara menambahkan catatan CNAME ke domain saya untuk memverifikasi bahwa saya memilikinya untuk layanan tertentu
2
Saya pikir masalah pertama yang harus Anda selesaikan adalah memutuskan: apa artinya "memiliki" sebuah situs web? Menjadi seorang administrator? Memiliki akses ke sistem file? Memiliki hak kepemilikan yang sah? Memiliki tugas pemeliharaan melalui perjanjian tertulis atau lisan? Membayar tagihan hosting? Membayar tagihan domain? Membayar para desainer?
Lightness Races di Orbit
1
@Cyclone: Saya sedang bekerja untuk Anda secara gratis, berdasarkan fakta bahwa aku benar-benar membuang-buang waktu saya berkontribusi untuk pertanyaan ini.
Lightness Races di Orbit

Jawaban:

9

Saya pasti berpikir

  • Unggah file html bernama tidak jelas ke direktori root dengan konten yang diberikan

adalah cara terbaik untuk pergi. Saya sebenarnya harus melakukan ini sekali. Dan saya tidak berpikir banyak konfigurasi situs web mencegah Anda melakukan ini.

Jika Anda benar-benar khawatir tentang ini, mengapa tidak mengizinkan semua opsi (aman)?


Mengenai komentar Anda:

Ya tetapi dengan sistem MVC (seperti codeigniter), dapat merepotkan untuk mengetahui cara mengakses file fisik yang bukan merupakan bagian dari sistem utama

Dalam kasus yang jarang terjadi ini, biarkan admin tersebut pergi dengan catatan CNAME / TXT atau hubungi mereka :-)

aioobe
sumber
1
Benar .. itu sebenarnya di mana saya harus melakukannya ;-)
2
Dua yang pertama saya daftarkan berasal dari alat webmaster google
@ Siklon, saya setuju dengan Anda bahwa yang pertama tampaknya lebih aman daripada yang kedua.
Hal yang menyebalkan tentang hal ini adalah Anda berakhir dengan satu file yang tidak jelas namanya per layanan, mengacaukan direktori root. Ini bukan cacat yang mengerikan, tetapi ada alternatif yang lebih bersih.
Bobby Jack
Hmm .. Saya pikir Anda meletakkan file yang diberi nama tidak jelas di sana sementara waktu selama proses verifikasi.
aioobe
7

Mengunggah file dengan nama yang tidak jelas adalah caranya.

Anda menulis kekurangannya adalah bahwa mereka mungkin tidak diizinkan untuk mengunggah file ke root. Nah dalam hal itu berarti mereka tidak memiliki situs web, itulah yang Anda cari.

laurent
sumber
Persis. Anda tidak memerlukan akses "root" ke server, yaitu di luar folder htmlatau www.
Chris Laplante
Maksud saya tidak diizinkan dalam aturan penulisan ulang yang mungkin menyulitkan atau rumit untuk mengunggah file
@ Siklon, benar tapi saya kira itu sangat jarang untuk melarang akses ke file HTML fisik.
Ya tetapi dengan sistem MVC (seperti codeigniter), dapat merepotkan untuk mengetahui cara mengakses file fisik yang bukan merupakan bagian dari sistem utama
Saya pikir CI masih memungkinkan akses ke file HTML fisik. Tetapi untuk berjaga-jaga, Anda juga dapat mengizinkan metode metatag, sehingga pengguna Anda tidak terjebak jika ada masalah dengan file .htaccess atau kerangka kerja MVC mereka.
1

Saya akan merekomendasikan menggunakan tag meta ...

  • Sertakan tag meta

sumber
0

Secara pribadi saya akan pergi dengan opsi email otomatis.

Minta pengguna untuk memasukkan URL dan alamat email mereka, memeriksa apakah domainnya sama dalam kedua kasus. Penggunaan sistem yang sama dengan yang digunakan sistem reset kata sandi:

  • Hasilkan hash acak, sebagian dibuat dari microtime dan domain saat ini
  • Simpan hash dalam database
  • Kirim email kepada pengguna dengan tautan verifikasi, di mana parameter 'id' adalah hash
  • Sekarang pengguna diverifikasi (hapus baris dari database)

Untuk keamanan tambahan, simpan waktu hash dihasilkan, dan kemudian tentukan setelah satu atau dua jam.


sumber