Wie kann ich überprüfen, ob jemand eine Website besitzt?

10

Ich versuche Möglichkeiten zu finden, um so sicher wie möglich zu überprüfen, ob ein Benutzer eine Website besitzt, die er angeblich besitzt.

Hier sind einige Möglichkeiten, die ich gesehen habe:

  • Laden Sie eine dunkel benannte HTML-Datei mit dem angegebenen Inhalt in das Stammverzeichnis hoch
  • Fügen Sie irgendwo in der Homepage-Quelle ein Meta-Tag oder einen anderen Kommentar ein
  • Senden Sie eine E-Mail an eine Adresse @domainwearetryingtovalidate.tldmit einem Bestätigungslink
  • Überprüfen Sie einen CNAME- oder TXT-Datensatz
  • Überprüfen Sie die WHOIS-Aufzeichnungen
  • Überprüfen Sie die Daten physisch, indem Sie die Support-Leitung anrufen oder eine E-Mail senden und die Datensätze manuell aktualisieren

Und hier sind die Probleme mit diesen Methoden in der Reihenfolge:

  • Einige Website-Konfigurationen ermöglichen möglicherweise nicht das einfache Hochladen einer Datei in das Stammverzeichnis
  • Durch ein schlechtes Site-Design kann ein Benutzer dieser Site dieses Meta-Tag möglicherweise selbst hinzufügen
  • Websites, die E-Mail-Dienste anbieten, machen dies unbrauchbar. Nehmen wir gmail.comzum Beispiel
  • Das ist für die meisten kleinen Website-Besitzer zu komplex, um herauszufinden, wie es geht
  • Die sind öffentlich; Jeder kann behaupten, wer auch immer zu sein. Ganz zu schweigen von den meist ungenauen.
  • Huuuuge Zeitverschwendung

Gibt es andere Möglichkeiten, um zu überprüfen, ob ein Benutzer auf Ihrer Website eine bestimmte Website besitzt? Welche der von mir aufgelisteten Methoden sind die besten und die schlechtesten? Ich habe sie meiner Meinung nach vom Besten zum Schlechtesten bestellt, aber ich würde gerne sehen, was andere auch denken.

Ich plane, eine oder mehrere davon in PHP zu implementieren.

Zyklon
quelle
3
Dies ist mit Sicherheit eine Programmierfrage. Wenn es für Webmaster gedacht wäre, würde ich es dort ablegen.
Für eine automatisierte Lösung bleiben Sie bei dem, was Sie aufgelistet haben. Andere große Unternehmen (z. B. Google) verwenden eine der ersten vier Optionen. Ich würde es für einen Benutzer unglaublich unregelmäßig finden, einen der ersten vier nicht ausführen zu können.
1
@ rlb.usa Es wäre eine Frage für Webmaster, wenn ich fragen würde, wie ich einen CNAME-Eintrag zu meiner Domain hinzufügen kann, um zu überprüfen, ob ich ihn für einen bestimmten Dienst
2
Ich denke, das erste Problem, das Sie lösen müssen, ist die Entscheidung: Was bedeutet es, eine Website zu besitzen? Administrator sein? Zugriff auf das Dateisystem? Ein rechtliches Eigentumsrecht haben? Haben Sie eine Wartungspflicht durch schriftliche oder mündliche Vereinbarung? Hosting-Rechnungen bezahlen? Domain-Rechnungen bezahlen? Die Designer bezahlen?
Leichtigkeitsrennen im Orbit
1
@Cyclone: Ich bin für Sie kostenlos arbeiten, auf Grund der Tatsache , dass ich völlig auf diese Frage beitragen meiner Zeit bin zu verschwenden.
Leichtigkeitsrennen im Orbit

Antworten:

8

Ich denke definitiv

  • Laden Sie eine dunkel benannte HTML-Datei mit dem angegebenen Inhalt in das Stammverzeichnis hoch

ist der beste Weg zu gehen. Ich musste das tatsächlich einmal machen. Und ich denke nicht, dass viele Website-Konfigurationen Sie daran hindern.

Wenn Sie sich darüber wirklich Sorgen machen, warum nicht alle (sicheren) Optionen zulassen?


Zu Ihrem Kommentar:

Ja, aber bei MVC-Systemen (z. B. Codeigniter) kann es schwierig sein, herauszufinden, wie auf eine physische Datei zugegriffen werden kann, die nicht Teil des Hauptsystems ist

Lassen Sie diese Administratoren in diesen seltenen Fällen mit den CNAME / TXT-Datensätzen gehen oder rufen Sie sie an :-)

aioobe
quelle
1
Richtig .. da musste ich es eigentlich machen
2
Die ersten beiden, die ich aufgelistet habe, stammen von Google Webmaster-Tools
@Cyclone, ich stimme Ihnen zu, dass der erstere sicherer zu sein scheint als der zweite.
Das Schlimme daran ist, dass Sie am Ende eine Datei mit einem dunklen Namen pro Dienst haben, die das Stammverzeichnis überfüllt. Es ist kein schrecklicher Fehler, aber es gibt sauberere Alternativen.
Bobby Jack
Hmm .. Ich denke, Sie haben die dunkel benannte Datei während des Überprüfungsprozesses vorübergehend dort abgelegt.
Aioobe
6

Das Hochladen einer dunkel benannten Datei ist der richtige Weg.

Sie haben den Nachteil geschrieben, dass sie möglicherweise keine Datei in das Stammverzeichnis hochladen dürfen. In diesem Fall bedeutet dies, dass sie die Website nicht besitzen, was Sie herausfinden möchten.

Laurent
quelle
Genau. Sie benötigen keinen "Root" -Zugriff auf den Server, dh außerhalb des Ordners htmloder www.
Chris Laplante
Ich meine, nicht erlaubt zu sein, dass das Umschreiben von Regeln das Hochladen der Datei schwierig oder komplex machen kann
@Cyclone, stimmt, aber ich denke, es ist ziemlich selten, den Zugriff auf eine physische HTML-Datei zu verbieten.
Ja, aber mit MVC-Systemen (wie Codeigniter) kann es mühsam sein, herauszufinden, wie auf eine physische Datei zugegriffen werden kann, die nicht Teil des
Ich denke, CI erlaubt immer noch den Zugriff auf physische HTML-Dateien. Für alle Fälle können Sie jedoch auch die Metatag-Methode zulassen, damit Ihre Benutzer nicht hängen bleiben, falls ein Problem mit ihrer .htaccess-Datei oder ihrem MVC-Framework auftritt.
1

Ich würde empfehlen, Meta-Tag zu verwenden ...

  • Fügen Sie ein Meta-Tag hinzu

quelle
0

Persönlich würde ich mit der automatisierten E-Mail-Option gehen.

Bitten Sie den Benutzer, seine URL und E-Mail-Adresse einzugeben, und überprüfen Sie, ob die Domain in beiden Fällen identisch ist. Sie verwenden dasselbe System wie Systeme zum Zurücksetzen von Passwörtern:

  • Generieren Sie einen zufälligen Hash, der teilweise aus der aktuellen Mikrozeit und Domäne besteht
  • Speichern Sie den Hash in einer Datenbank
  • Senden Sie dem Benutzer eine E-Mail mit einem Bestätigungslink, wobei der Parameter 'id' der Hash ist
  • Jetzt wird der Benutzer überprüft (löschen Sie die Zeile aus der Datenbank)

Speichern Sie für zusätzliche Sicherheit die Zeit, zu der der Hash generiert wurde, und lassen Sie ihn nach ein oder zwei Stunden ablaufen.


quelle