it-swarm.com.de

Nicht zulassen, dass auf robots.txt in einem Browser zugegriffen wird, Spinnen jedoch weiterhin darauf zugreifen können?

Wir verwenden die Datei robots.txt, um zu verhindern, dass Google (und andere Suchmaschinen) bestimmte Seiten/Verzeichnisse in unserer Domain crawlen. Einige dieser Verzeichnisse/Dateien sind geheim, dh sie sind nicht verlinkt (außer vielleicht auf anderen Seiten, die in der robots.txt -Datei enthalten sind). Einige dieser Verzeichnisse/Dateien sind nicht geheim, wir möchten nur nicht, dass sie indiziert werden.

Wenn jemand direkt zu www.mydomain.com/robots.txt navigiert, kann er den Inhalt der robots.txt -Datei sehen. Vom Standpunkt der Sicherheit aus wollen wir dies niemandem öffentlich zugänglich machen. Alle Verzeichnisse, die sichere Informationen enthalten, werden hinter der Authentifizierung festgelegt. Wir möchten jedoch nicht, dass sie auffindbar sind, es sei denn, der Benutzer kennt sie genau.

Gibt es eine Möglichkeit, eine robots.txt -Datei bereitzustellen, die jedoch von John Doe maskiert wird, der über seinen Browser darauf zugreift? Vielleicht indem Sie PHP verwenden, um das Dokument basierend auf bestimmten Kriterien zu generieren? Vielleicht etwas, woran ich nicht denke? Wir würden einen Weg bevorzugen, dies zentral zu tun (was bedeutet, dass eine <meta> -Tag-Lösung weniger als ideal ist).

6

Wenn Sie nicht möchten, dass etwas im Web sichtbar ist, machen Sie es nicht sichtbar. In Ihrem Fall ist die Verwendung von robots.txt zum Ausschließen von Verzeichnissen Sicherheit durch Unbekanntheit. Anstatt öffentlich zu sagen "Hey, da ist der Ort mit all den kostbaren Juwelen und Edelmetallen, geh nicht hinein!", Sag einfach nichts und mache einfach keine Werbung für das Vorhandensein dieser Verzeichnisse.

Dies erfordert eine gewisse Disziplin von Ihnen und stellt sicher, dass auf Ihren öffentlich zugänglichen Seiten in keiner Weise auf eines dieser Verzeichnisse verwiesen wird.

Andernfalls ist dies nicht über robots.txt möglich. Wenn Sie eine dynamisch generierte Seite basierend auf dem Besucher erstellen, was hindert dann jemanden daran, die User-Agent-Zeichenfolge seines Browsers auf "Googlebot" zu setzen und die vollständige Liste Ihrer ausgeschlossenen Verzeichnisse abzurufen? Es gibt keine 100% zuverlässige Methode, um festzustellen, wer am anderen Ende einer Verbindung ist - bestenfalls können Sie das Beste erraten und hoffen. Und wenn es um Sicherheit geht, ist das Raten kein Problem.

Passwortgeschützte Seiten/Verzeichnisse können nicht gecrawlt werden, daher sind diese auch dann sicher, wenn sie nicht explizit in der robots.txt zum Ausschluss aufgeführt sind. Googlebot und seine Brüder haben keine Anmeldeinformationen und können daher nicht auf die zugreifen Seiten, um sie zu spinnen.

13
Marc B

Wenn Sie nicht möchten, dass Robots diese Verzeichnisse crawlen, sie jedoch nicht in Ihrer robots.txt-Datei ankündigen, verwenden Sie den HTTP-Header x-robots-tag, um sie zu blockieren.

Fügen Sie dies in eine .htaccess-Datei in einem Verzeichnis ein, das nicht indiziert werden soll:

Header set x-robots-tag: noindex

Dadurch werden Roboter angewiesen, den Inhalt der Dateien in diesem Verzeichnis zu ignorieren. Auf diese Weise ist keine robots.txt-Datei erforderlich, und Sie haben Ihre Sicherheit durch Unkenntnis und eine legitime Methode, die Suchmaschinen anzuweisen, draußen zu bleiben.

5
John Conde

Sie können mod rewrite verwenden, um robots.txt in ein PHP-Skript umzuleiten und den Benutzeragenten zu überprüfen. Sie können dies jedoch umgehen, indem Sie den Benutzeragenten vortäuschen.

Sie haben nichts, was einen normalen Benutzer von einer Suchmaschine unterscheidet, außer den Informationen, die er sendet, und all diese können gefälscht werden.

0
Leroy

Sie können den ser Agent HTTP Header überprüfen. Es ist nicht narrensicher, aber Sie können daraus ablesen, ob der Benutzer Firefox, Explorer usw. verwendet. Natürlich kann der Benutzer Curl verwenden und das umgehen.

0
James Kingsbery

robots.txt ist ungefähr so ​​gut wie favicon.ico. Aber es ist der einzige Standard, also muss man darin arbeiten.

Sie können alle Ihre eingeschränkten Seiten in einer einzigen Hierarchie ablegen (z. B. /restricted mit /restricted/login usw.) und nur den Stamm der Hierarchie in robots.txt benennen. Ein Benutzer kann herausfinden, dass einige Seiten vorhanden sind, weiß jedoch nicht, wie die Seiten tatsächlich aussehen.

Dies könnte eine Unterdomäne mit Disallow: / sein.


Sie können auch versuchen, Ihre eingeschränkten Seiten nicht aufzulisten, sondern Benutzeragenten/IPs zu ermitteln, die auf robots.txt zugreifen (was nur Webcrawler tun sollten) und ihnen später den Zugriff auf die Seiten zu verweigern.

0
aaz