This page has been robot translated, sorry for typos if any. Original content here.

Externe Links maskieren



  • Script Link Cloaking
  • Verkleiden Sie Vertriebslinks


  • Script Link Cloaking

    Script Link Cloaking

    In diesem Artikel geht es um eine der recht häufigen Möglichkeiten, um externe Links zu verschleiern (in Englisch - link cloaking).

    Das Tarnen von Links funktioniert folgendermaßen. Beim Durchsehen der Seite sieht der Besucher den üblichen internen Link. Aber nach dem Durchlaufen geht es auf eine andere Seite.

    Bis heute gibt es mehrere Möglichkeiten, solche Links zu erstellen. Aber wir werden eine der erfolgreichsten (aus meiner Sicht) betrachten, die keine Unterstützung durch den Browser erfordert.

    Die Idee ist eine Umleitung zu verwenden und ist in zwei Phasen implementiert:

    • 1) Erstellen Sie im Stammverzeichnis der Site (dem Ordner, auf den DOCUMENT_ROOT verweist) einen Ordner namens pages.
    • 2) In diesen Ordner legen wir drei Dateien:
      • linkslist.php - es wird eine Reihe externer Links sein;
      • redirect.php - analysiert den Link, auf dem der Übergang stattgefunden hat und sendet den Besucher an eine externe Ressource;
      • .htaccess - Überträgt alle Anfragen an das Skript redirect.php.

    Arbeitsprinzip

    Auf den Seiten der Website platzieren Sie Links wie: http: // site_name / pages / get / second_part__address , wobei second_part__address alles sein kann, z. B. mypage.html oder page1 usw. Alles hängt von Ihrer Vorstellungskraft ab.

    Die Adressumsetzung ist wie folgt. Wenn auf einen Link ein Link wie http: // site_name / pages / get / ......... folgt , werden die Regeln von .htaccess darauf angewendet.

    Hinweis Auf dem Server muss Apache mod_rewrite installiert sein und ausgeführt werden.

    Mit den Regeln in dieser Datei ersetzen wir die get- Adresse durch redirect.php . Ie wird sein: http: //site_name/pages/redirect.php/second_part_address

    Das Skript redirect.php im zweiten Teil der Adresse wählt einen externen Link aus und sendet ihn an den Weiterleitungsbrowser.

    Die beschriebene Reihenfolge der Adressumsetzung ist im Diagramm dargestellt.

    Adresse Übersetzungsauftrag

    Skript selbst

    linkslist.php
    <?php
    $linksList = array(
    'page1.html' => 'http://www.google.com',
    'page2.html' => 'http://www.php.net'
    );
    ?>

    Ein gewöhnliches Array wird hier deklariert. Der Schlüssel des Elements ist der zweite Teil der Adresse des internen Links und der Wert ist die Adresse der externen Ressource .

    redirect.php
    <?php
    require_once('linkslist.php');
    $request = $_SERVER['REQUEST_URI'];
    $dest = explode('/', $request);
    $newUrlKey = end($dest);
    if (array_key_exists($newUrlKey, $linksList)) {
    header('Location:'.$linksList[$newUrlKey]);
    }
    else {
    header('Location:http://www.simplecoding.org');
    }
    ?>

    Hier enthalten wir eine Datei mit einem Array von Links (Zeile 2). Danach wählen wir den zweiten Teil aus der Adresse (Zeilen 5, 6) und bilden eine Kopfzeile mit einer Umleitung (Zeilen 8-13).

    .htaccess
    <IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On
    RewriteRule ^get/(.+) /pages/redirect.php/$1 [L]
    </IfModule>

    In dieser Datei haben wir eine Regel erstellt, die in die Adresse redirect.php ändert.

    Fazit

    Heute gibt es mehrere vorgefertigte Lösungen, die die gleichen Funktionen ausführen (zum Beispiel WordPress Plugins wie Hidden Affiliate Links ).

    Am wichtigsten, bevor Sie die in diesem Artikel beschriebene Methode verwenden, sollten Sie klar verstehen, was die Linkmaskierung Ihnen geben wird.

    Im Großen und Ganzen ist das Maskieren von Links der Täuschung eines Besuchers und einer Suchmaschine sehr ähnlich. Oder hast du eine andere Meinung? Daher schlage ich vor, die Website zunächst von einer großen Anzahl externer Links zu optimieren.






    Wie kann ich Ihre Website vor dem Aufspüren von Verkaufslinks wie Sape.com schützen?

    Es geht nicht nur darum, diesem Detektor von Verkaufsverbindungen, sondern auch jedem anderen entgegenzuwirken. Arbeiten als separate Ressource oder eine in den Algorithmus integrierte Suchmaschine :) Nicht wichtig.

    Lassen Sie uns zum Beispiel nicht erlauben, Verkaufslinks auf Seiten zu definieren, die auf der beliebten LastoBlog Engine, sondern auch auf der Sloto LastoSplog Engine basieren.

    Das Skript selbst:

    Wie es bekannt ist, klammert sich der Standard-Sapa-Code an die Einstellungen wie folgt:

    global $mysape;
    define ('_SAPE_USER',"usersiteidentificator");
    require_once ("./data/sape/sape.php");
    $sape=new SAPE_client();
    $mysape=$sape->return_links();

    Es wird angenommen, dass der Ordner sap in der Dateistruktur der Engine versteckt ist und nicht wehrlos in seiner Wurzel liegt, daher auf diese Weise zu der Datei mit dem Client-Code, beachten Sie diesen Aspekt.

    Sowie die Tatsache, dass der Ordner in Sape umbenannt wird

    Nun fügen wir ein paar Operatoren hinzu - rot hervorgehoben:

    global $mysape;
    define ('_SAPE_USER',"usersiteidentificator");
    require_once ("./data/sape/sape.php");
    require_once ("./data/sape/sape_venality_name.php");
    $sape=new SAPE_client( $sape_venality_name );
    $mysape=$sape->return_links();

    Und natürlich, in den Papa des Sapa werden wir auch solchen Code legen

    Der Dateiname, wie Sie verstehen, sape_venality_name.php )

    <?php

    $sape_venality_name=array();

    # Документы, работающие с глобалом GET:
    $allowed_pages=array("key.php","ping","remoute");

    # Разрешённые переменные в УРле иных документов:
    $allowed_var=array("");

    $tm=explode("?",$_SERVER['REQUEST_URI']);
    if (isset($tm[1]) and $tm[0]==str_replace($allowed_pages,"",$tm[0])) {
    $k=preg_match_all("/(.*)=(.*)\&/Uis",$tm[1]."&",$am);
    $bm=array();
    for ($i=0; $i < $k; $i++) {
    if ($am[2][$i]=="" or !in_array($am[1][$i],$allowed_var))continue;
    $bm[]=$am[1][$i]."=".$am[2][$i];
    }
    $tm[1]=implode("&",$bm);
    $sape_venality_name['request_uri']=
    $_SERVER['REQUEST_URI']=($tm[1]=="") ? $tm[0]: implode("?",$tm);
    }

    ?>

    Nach der Verwendung dieses Codes (Aufruf vor dem Start der Sapa-Klasse) reagiert unser Blog oder splog nicht mehr auf das Testen der Ressource mit allen Arten von Detektoren von Sales-Links auf deren Vorhandensein.

    Wenn die Client-Codes anderer Vermittlungsstellen, die nach dem SAP-Client-Code ausgelöste Links verkaufen, an die Ressource übertragen werden, werden auch alle durch diesen Austausch durchgeführten Referenzen nicht mehr vom Detektor erkannt (in den meisten Fällen natürlich nicht absolut).

    Tuning-Code Sapy :)

    Wenn der Betrieb des Sapa-Client-Codes extern gesteuert wird, ist es manchmal notwendig, die Codierung oder einige andere Punkte anzupassen. Normalerweise sollten Sie in diesem Fall ein Array mit einem beliebigen Namen erstellen, die erforderlichen Schlüssel im Array erstellen, ihnen die erforderlichen Werte zuweisen und dann das Array der Klasse zuweisen. Aber, wie aus dem Ausdruck des Codes mit den roten Linien hervorgeht, speisen wir der Klasse bereits ein Array. Und wo ist die Codierung zu platzieren?

    Sehen wir uns zum Beispiel die Situation an, in der sich Ihre Website auf UTF befindet .

    In diesem Fall, zwischen dem Start des Rettungscodes und der Lieferung der Ergebnisse seiner Arbeit an die Klasse, ist es notwendig, den notwendigen Schlüssel in den neu geborenen Arrayschik, in voller Übereinstimmung mit den Empfehlungen, einzufügen:

    global $mysape; define ('_SAPE_USER',"usersiteidentificator"); require_once ("./data/sape/sape.php"); require_once ("./data/sape/sape_venality_name.php"); $sape_venality_name['charset']='UTF-8'; $sape=new SAPE_client( $sape_venality_name ); $mysape=$sape->return_links();

    Suchen Sie nach anderen Schlüsseln? Wedge durch Analogie.

    Wenn Verkaufslinks nicht von Sapa stammen:

    Es ist unwahrscheinlich, dass es für alle Broker von Verkaufslinks verbürgt, weil der Client-Code, den sie haben, sehr unterschiedlich ist, aber theoretisch sollte diese Konstruktion (ohne SAP auf der Site) helfen:

    require_once ("./data/sape/sape_venality_name.php");

    Natürlich betrachten wir in diesem Dokument nur die Tarnung der Verkaufslinks auf den Motoren, die am Anfang des Dokumentes angegeben sind, und auch diesen sehr ähnlich. Andernfalls sollte das Lesen dieses Dokuments durch PHP-Kenntnisse unterstützt werden.