Einen Link komplett unsichtbar machen?

8

Ich bin mir ziemlich sicher, dass viele Leute daran gedacht haben, aber aus irgendeinem Grund kann ich sie nicht mit der Google- und StackOverflow-Suche finden.

Ich möchte einen unsichtbaren Link (auf der schwarzen Liste von robots.txt) zu einer CGI- oder PHP-Seite machen, die bösartige Bots und Spider "einfängt". Bisher habe ich es versucht:

  1. Leere Links im Körper:

    %Vor%

    Das funktioniert meistens sehr gut, mit zwei kleineren Problemen:

    Problem: Der Link ist Teil des Hauptteils des Dokuments. Auch wenn es mit der Maus ziemlich unklickbar ist, treffen einige Besucher es trotzdem unbeabsichtigt, während sie die Seite mit der Tastatur Tab und Enter navigieren. Wenn sie die Seite zum Beispiel in ein Textverarbeitungsprogramm oder eine E-Mail-Software kopieren, wird der Trap-Link mitkopiert und manchmal sogar geklickt (einige Software mag keine leeren <a> -Tags und kopiert den href als Inhalt des Tags).

  2. Unsichtbare Blöcke im Körper:

    %Vor%

    Dies behebt das Problem der Tastaturnavigation, zumindest in den von mir getesteten Browsern. Die Verbindung ist effektiv von der normalen Anzeige der Seite aus nicht zugänglich, während sie für die meisten Spider Bots mit ihrer aktuellen Intelligenz noch vollständig sichtbar ist.

    Problem: Der Link ist immer noch Teil des DOM. Wenn der Benutzer den Inhalt der Seite kopiert und einfügt, wird er erneut angezeigt.

  3. Innere Kommentarblöcke:

    %Vor%

    Dies entfernt effektiv den Link vom DOM der Seite. Nun, technisch gesehen ist der Kommentar immer noch ein Teil des DOMs, aber es erreicht den gewünschten Effekt, dass konforme Benutzeragenten das A-Element nicht erzeugen, so dass es kein tatsächlicher Link ist.

    Problem: Die meisten Spider-Bots sind heutzutage schlau genug, um (X) HTML zu analysieren und Kommentare zu ignorieren. Ich habe Bots gesehen, die Internet Explorer COM / ActiveX-Objekte verwenden, um den (X) HTML zu analysieren und alle Links über XPath oder Javascript zu extrahieren. Diese Arten von Bots werden nicht dazu verleitet, dem Trap-Hyperlink zu folgen.

Ich habe die Methode # 3 bis letzte Nacht benutzt, als ich von einem Schwarm von Bots getroffen wurde, die sehr selektiv zu sein scheinen, auf welche Links sie folgen. Jetzt bin ich zurück zu Methode # 2, aber ich suche immer noch nach einem effektiveren Weg.

Irgendwelche Vorschläge oder eine andere andere Lösung, die ich vermisst habe?

    
Juliano 05.09.2010, 22:40
quelle

2 Antworten

12

Fügen Sie es hinzu, wie Sie gesagt haben:

%Vor%

Und dann entfernen Sie es mit javascript / jQuery:

%Vor%

Spam-Bots werden das Javascript nicht ausführen und das Element sehen, fast jeder Browser wird das Element entfernen, was es unmöglich macht, mit Tabs darauf zu stoßen

Bearbeiten: Der einfachste Weg ohne jQuery wäre:

%Vor%

Und dann entfernen Sie es mit Javascript:

%Vor%     
Sander Rijken 05.09.2010, 22:46
quelle
2

Diese Lösung scheint gut für mich zu funktionieren, glücklicherweise habe ich es vorgemerkt. Ich hoffe, es hilft dir auch.

Sie können einen versteckten Link wie diesen erstellen und ihn ganz oben links auf Ihrer Seite platzieren. Um zu verhindern, dass reguläre Benutzer zu einfach darauf zugreifen, können Sie mit css ein Logo-Bild über dieses Bild legen.

%Vor%

Wenn Sie daran interessiert sind, eine Blacklist für die Bots zu erstellen, lesen Sie diesen Link für eine detaillierte Erläuterung der Vorgehensweise.

Ссылка

    
cmptrwhz 05.09.2010 22:51
quelle

Tags und Links