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

Externe Links maskieren



  • Link-Tarn-Skript
  • Cloaking von beschädigten Links


  • Link-Tarn-Skript

    Link-Tarn-Skript

    Dieser Artikel handelt von einer der häufigsten Methoden zum Maskieren externer Links (in Englisch - Link Cloaking).

    Die Verbindungstunnelung funktioniert wie folgt. Beim Betrachten der Seite sieht der Besucher den üblichen internen Link. Aber, nachdem es weitergegangen ist - kommt zu einer anderen 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 vom 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 ein Array mit externen Links haben;
      • redirect.php - analysiert den Link, auf dem der Übergang stattgefunden hat und sendet den Besucher an eine externe Ressource;
      • .htaccess - Übermittelt 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 die second_word_address alles sein kann, beispielsweise mypage.html oder page1 usw. Alles hängt von Ihrer Vorstellungskraft ab.

    Die Adressumwandlung ist wie folgt. Jeder Übergang durch einen Link wie http: // site_name / pages / get / ......... zu dem es Regeln von. Htaccess wird angewendet.

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

    Unter Verwendung der Regeln in dieser Datei ersetzen wir in der Adresse get on redirect.php . Ie. Get: http: //site_name/pages/redirect.php/second_part der Adresse

    Das Skript redirect.php auf dem zweiten Teil der Adresse wählt einen externen Link und sendet die Browserumleitung.

    Die beschriebene Reihenfolge der Adressumsetzung ist im Diagramm dargestellt.

    Adresse Übersetzungsauftrag

    Das Skript selbst

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

    Ein gemeinsames Array wird hier deklariert. Der Schlüssel des Elements ist der zweite Teil der Adresse der internen Referenz 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 verbinden wir eine Datei mit einem Array von Links (Zeile 2). Danach wählen Sie den zweiten Teil (Zeilen 5, 6) aus der Adresse und bilden den Header 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 den Aufruf von redirect.php in der Adresse ändert.

    Fazit

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

    Vor allem, bevor Sie die in diesem Artikel beschriebene Methode verwenden, sollten Sie klar verstehen, was die Verkleidung von Links Ihnen geben wird.

    Im Großen und Ganzen ist der Bericht über die Verschleierung von Links sehr ähnlich dem Betrug eines Besuchers und einer Suchmaschine. Oder hast du eine andere Meinung? Daher empfehle ich zunächst, die Website von einer großen Anzahl externer Links zu optimieren.






    Wie Sie Ihre Website vor dem Aufspüren korrupter Links wie Sape.com schützen?

    Es geht nicht nur darum, diesen Detektor von fehlerhaften Verbindungen zu bekämpfen, sondern auch für andere. Als separate Ressource arbeiten oder in den Suchmaschinenalgorithmus integriert sein :) Nicht wichtig.

    Lassen Sie uns zum Beispiel keine Verkaufslinks auf Websites definieren, die auf der beliebten LastoBlog-Engine und gleichzeitig auf der LastoSplog-Spion-Engine basieren.

    Das Skript selbst:

    Wie Sie wissen, klammert sich der Standardcode von Sapa auf diese Weise an die Einstellungen:

    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 innerhalb der Dateistruktur der Engine gefüllt ist, und nicht wehrlos in seiner Wurzel liegt, daher der Pfad zur 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, die rot hervorgehoben sind:

    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();

    Nun, natürlich, in den Papa Sapa werden wir auch diesen Code setzen

    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 der Rest nicht mehr auf das Testen der Ressource mit allen Quellen von Sales-Links auf deren Vorhandensein.

    Wenn der Clientcode anderer Vermittlungsstellen für den Verkauf von Verbindungen, die nach dem Kundencode des SAP ausgelöst werden, an die Ressource angehängt wird, werden auch alle Verbindungen, die durch solche Austauschvorgänge verkauft werden, vom Detektor nicht mehr bestimmt (in den meisten Fällen natürlich nicht 100%).

    Den Sapa-Code abstimmen :)

    Mit der externen Kontrolle über den Betrieb des Sapa-Client-Codes ist es manchmal notwendig, die Codierung oder eine Anzahl anderer Punkte einzurichten. In diesem Fall ist es üblich, ein Array mit einem beliebigen Namen zu erstellen, die Schlüssel im Array zu erstellen und ihnen die erforderlichen Werte zuzuweisen und das Array dann der Klasse zuzuweisen. Aber, wie es aus dem Ausdruck des Codes mit roten Linien hervorgeht, speisen wir der Klasse schon einige Arrays ein. Und wo setze ich die Codierung?

    Lassen Sie uns zum Beispiel die Situation analysieren, in der sich Ihre Website auf UTF befindet .

    In diesem Fall ist es in dem Intervall zwischen dem Start des Rettungscodes und der Rückgabe der Ergebnisse seiner Arbeit an die Klasse notwendig, den notwendigen Schlüssel in das born Array einzufügen, in Übereinstimmung mit den Empfehlungen:

    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();

    Brauchen Sie andere Schlüssel? In Analogie integrieren.

    Wenn die Verkaufslinks nicht von Sapa stammen:

    Kaum verbürgt sich für alle Broker von korrupten Links, denn der Client-Code, den sie haben, ist sehr unterschiedlich, aber theoretisch hier ist ein solches Design (in der vollständigen Abwesenheit von SAP auf der Website) sollte helfen:

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

    Natürlich betrachten wir in diesem Dokument nur die Tarnung von korrupten Links zu den Engines, die am Anfang des Dokuments angegeben sind, und auch diesen sehr ähnlich. Andernfalls sollte das Lesen dieses Dokuments durch php-Kenntnisse unterstützt werden