Jak sprawdzić, czy ktoś jest właścicielem strony internetowej?

10

Próbuję wymyślić sposoby, aby jak najbezpieczniej zweryfikować, czy użytkownik jest właścicielem witryny, do której twierdzi, że jest właścicielem.

Oto kilka sposobów, które widziałem:

  • Prześlij plik HTML o nieznanej nazwie do katalogu głównego z podaną zawartością
  • Umieść metatag lub inny komentarz gdzieś w źródle strony głównej
  • Wyślij wiadomość e-mail na adres @domainwearetryingtovalidate.tldz linkiem weryfikacyjnym
  • Sprawdź rekord CNAME lub TXT
  • Sprawdź rekordy WHOIS
  • Sprawdź poprawność fizyczną, dzwoniąc lub wysyłając wiadomość e-mail na linię wsparcia, ręcznie aktualizując rekordy

A oto problemy z tymi metodami, w kolejności:

  • Niektóre konfiguracje stron internetowych mogą nie zezwalać na zwykłe przesyłanie pliku do katalogu głównego
  • Zły projekt strony może pozwolić użytkownikowi tej witryny na samodzielne dodanie tego metatagu
  • Strony internetowe świadczące usługi e-mail sprawiają, że jest to bezużyteczne; wziąć gmail.comna przykład
  • Jest to zbyt skomplikowane dla większości małych właścicieli witryn internetowych, aby wymyślić, jak to zrobić
  • Te są publiczne; każdy może twierdzić, że jest kimkolwiek. Nie wspominając o najczęściej niedokładnych.
  • Huuuuge strata czasu

Czy istnieją inne sposoby sprawdzenia, czy użytkownik Twojej witryny jest właścicielem określonej witryny? Które z wymienionych metod są najlepsze i najgorsze? Moim zdaniem uporządkowałem je od najlepszych do najgorszych, ale chciałbym też zobaczyć, co myślą inni.

Planuję zaimplementować jeden lub więcej z nich w PHP.

Cyklon
źródło
3
Jest to z pewnością pytanie programistyczne. Gdyby miał być przeznaczony dla webmasterów, umieściłbym go tam.
Aby uzyskać zautomatyzowane rozwiązanie, utkniesz w liście. Inne duże firmy (np. Google) korzystają z jednej z czterech pierwszych opcji. Uważam, że jest to niezwykle nieregularne, aby użytkownik nie był w stanie wykonać jednej z czterech pierwszych.
1
@ rlb.usa Byłoby pytaniem dla webmasterów, gdybym zapytał, jak dodać rekord CNAME do mojej domeny, aby zweryfikować, że jestem jego właścicielem dla określonej usługi
2
Myślę, że pierwszym problemem, który musisz rozwiązać, jest decyzja: co oznacza „posiadanie” strony internetowej? Jesteś administratorem? Masz dostęp do systemu plików? Posiadasz prawne prawo własności? Masz obowiązek alimentacyjny w drodze pisemnej lub ustnej umowy? Płacisz rachunki za hosting? Płacenie rachunków za domenę? Płacąc projektantom?
Wyścigi lekkości na orbicie
1
@Cyclone: I ja pracuje dla ciebie za darmo, z racji tego, że jestem całkowicie tracę czas przyczyniając się do tej kwestii.
Wyścigi lekkości na orbicie

Odpowiedzi:

9

Zdecydowanie tak myślę

  • Prześlij plik html o nieznanej nazwie do katalogu głównego z podaną zawartością

to najlepsza droga. Właściwie to kiedyś musiałem to zrobić. I nie sądzę, że wiele konfiguracji stron internetowych uniemożliwia ci to.

Jeśli naprawdę się tym martwisz, dlaczego nie zezwolić na wszystkie (bezpieczne) opcje?


Jeśli chodzi o twój komentarz:

Tak, ale w systemach MVC (takich jak Codeigniter) może być kłopot z ustaleniem, jak uzyskać dostęp do pliku fizycznego, który nie jest częścią głównego systemu

W tych rzadkich przypadkach pozwól tym administratorom przejść z rekordami CNAME / TXT lub zadzwoń :-)

aioobe
źródło
1
Racja ... właśnie tam musiałem to zrobić ;-)
2
Pierwsze dwa, które wymieniłem, pochodziły z narzędzi Google dla webmasterów
@ Cyclone, zgadzam się z tobą, że ten pierwszy wydaje się bezpieczniejszy niż drugi.
Problem polega na tym, że na jedną usługę przypada jeden plik o niejasnej nazwie, zaśmiecający katalog główny. To nie jest straszna wada, ale istnieją czystsze alternatywy.
Bobby Jack
Hmm .. Myślę, że tymczasowo umieściłeś tam niejasny plik podczas procesu weryfikacji.
aioobe,
7

Najlepszym sposobem jest przesłanie pliku o niejasnej nazwie.

Wadą jest to, że może nie być dozwolone przesłanie pliku do katalogu głównego. Cóż, w takim przypadku oznacza to, że nie są właścicielami strony internetowej, o czym próbujesz się dowiedzieć.

Laurent
źródło
Dokładnie. Nie potrzebujesz dostępu „root” do serwera, tj. Poza folder htmllub www.
Chris Laplante,
Mam na myśli, że niedozwolone w tych regułach przepisywania mogą utrudnić lub skomplikować przesłanie pliku
@Cyclone, prawda, ale myślę, że dość rzadko zabrania się dostępu do fizycznego pliku HTML.
Tak, ale w systemach MVC (takich jak Codeigniter) może być kłopot z ustaleniem, jak uzyskać dostęp do pliku fizycznego, który nie jest częścią głównego systemu
Myślę, że CI nadal pozwala na dostęp do fizycznych plików HTML. Ale na wszelki wypadek możesz również zezwolić na metatag, aby Twoi użytkownicy nie utknęli w przypadku problemów z plikiem .htaccess lub frameworkiem MVC.
1

Polecam użycie metatagu ...

  • Dołącz metatag

źródło
0

Osobiście wybrałbym opcję automatycznej poczty elektronicznej.

Poproś użytkownika o podanie adresu URL i adresu e-mail, sprawdzając, czy domena jest taka sama w obu przypadkach. Użyj tego samego systemu, co systemy resetowania hasła:

  • Wygeneruj losowy skrót, częściowo złożony z bieżącej mikrotime i domeny
  • Przechowuj skrót w bazie danych
  • Wyślij użytkownikowi wiadomość e-mail z linkiem weryfikacyjnym, w którym parametrem „id” jest skrót
  • Teraz użytkownik jest zweryfikowany (usuń wiersz z bazy danych)

Aby zwiększyć bezpieczeństwo, zapisz czas wygenerowania skrótu, a następnie wyłącz go po godzinie lub dwóch.


źródło