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

Masquage des liens externes



  • Cloaking Script de lien
  • Cloaking de liens corrompus


  • Cloaking Script de lien

    Cloaking Script de lien

    Cet article est sur l'une des méthodes les plus courantes de masquage des liens externes (en anglais - le cloaking de lien).

    La dissimulation de lien fonctionne comme suit. Lors de la visualisation de la page, le visiteur voit le lien interne habituel . Mais, après avoir bougé dessus - arrive à un autre site.

    À ce jour, il existe plusieurs façons de créer de tels liens. Mais nous allons considérer l'un des plus réussis (de mon point de vue) qui ne nécessite pas de support du navigateur.

    L'idée est d' utiliser une redirection et est implémentée en deux étapes:

    • 1) à la racine du site (le dossier pointé par DOCUMENT_ROOT) crée un dossier nommé pages.
    • 2) dans ce dossier nous plaçons trois fichiers:
      • linkslist.php - il aura un tableau avec des liens externes;
      • redirect.php - analyse le lien sur lequel la transition a été faite et envoie le visiteur à une ressource externe;
      • .htaccess - passe toutes les demandes au script redirect.php.

    Principe de fonctionnement

    Sur les pages du site, vous placez des liens tels que: http: // nom_site / pages / get / second_part_address , où l' adresse_second_sign peut être n'importe quoi, par exemple, mypage.html ou page1 , etc. Tout dépend de votre imagination.

    La conversion d'adresse est la suivante. Toute transition à travers un lien comme http: // nom_site / pages / get / ......... à partir de. Htaccess sera appliqué.

    Note: Le serveur doit avoir apache mod_rewrite installé et en cours d'exécution.

    En utilisant les règles de ce fichier, nous remplaçons dans l'adresse get redirect.php . Ie. obtenir: http: //site_name/pages/redirect.php/second_part de l'adresse

    Le script redirect.php sur la deuxième partie de l'adresse sélectionne un lien externe et envoie la redirection du navigateur.

    L'ordre de traduction d'adresse décrit est montré dans le diagramme.

    ordre de traduction d'adresse

    Le script lui-même

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

    Un tableau commun est déclaré ici. La clé de l' élément est la deuxième partie de l'adresse de la référence interne, et la valeur est l'adresse de la ressource externe .

    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');
    }
    ?>

    Ici, nous connectons un fichier avec un tableau de liens (ligne 2). Après cela, sélectionnez la deuxième partie (lignes 5, 6) de l'adresse et formez l'en-tête avec une redirection (lignes 8-13).

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

    Dans ce fichier, nous avons créé une règle qui modifie l'accès à redirect.php dans l'adresse.

    Conclusion

    À ce jour, il existe plusieurs solutions prêtes à l'emploi qui remplissent les mêmes fonctions (par exemple, des plugins WordPress comme Hidden Affiliate Links ).

    Plus important encore, avant d'utiliser la méthode décrite dans cet article, vous devez comprendre clairement ce que le déguisement des liens vous donnera.

    Après tout, en gros, le compte du déguisement des liens ressemble beaucoup à tromper un visiteur et un moteur de recherche. Ou avez-vous une opinion différente? Par conséquent, je suggère d'abord d'optimiser le site à partir d'un grand nombre de liens externes.






    Comment protéger votre site contre la détection de liens corrompus tels que Sape.com?

    Il ne s'agit pas seulement de contrer ce détecteur de liens corrompus, mais aussi de tout autre. Travailler comme une ressource séparée, ou intégré dans l'algorithme du moteur de recherche :) Peu importe.

    Ne vous laissons par exemple pas définir des liens commerciaux sur des sites construits sur le célèbre moteur LastoBlog, et en même temps sur le moteur d'espionnage LastoSplog.

    Le script lui-même:

    Comme vous le savez, le code standard de Sapa s'accroche aux paramètres de cette façon:

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

    Il est supposé que le dossier est bourré dans la structure de fichier du moteur, et ne pas se trouver sans défense dans sa racine, d'où le chemin vers le fichier avec le code client, faites attention à cet aspect.

    Ainsi que le fait que le dossier est renommé en sape

    Maintenant, ajoutons quelques opérateurs, surlignés en rouge:

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

    Eh bien, bien sûr, dans le père Sapa, nous allons également mettre ce code

    Le nom du fichier, comme vous le comprenez, 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);
    }

    ?>

    Après avoir utilisé ce code (en l'appelant avant de lancer la classe Sapa), notre blog ou le reste cesse de répondre aux tests de la ressource avec toutes les sources de liens de vente pour la présence de ceux-ci.

    Aussi, si le code client d'autres échanges pour la vente de liens, déclenchés après le code client de la sève, est rattaché à la ressource, alors tous les liens vendus par ces échanges cessent également d'être déterminés par le détecteur (le plus souvent non 100%).

    Réglage du code Sapa :)

    Avec un contrôle externe sur le fonctionnement du code client Sapa, il est parfois nécessaire de configurer le codage, ou un certain nombre d'autres points. Il est standard dans ce cas de former un tableau avec n'importe quel nom, de créer les clés dans le tableau et de leur assigner les valeurs nécessaires, puis de donner le tableau à la classe. Mais, comme il ressort de l'impression du code avec des lignes rouges, nous alimentons déjà la classe. Et où dois-je mettre l'encodage?

    Analysons par exemple la situation lorsque votre site est en UTF .

    Dans ce cas, dans l'intervalle entre le lancement du code de secours et le retour des résultats de son travail à la classe, il est nécessaire d'insérer la clé nécessaire dans le tableau né, en pleine conformité avec les recommandations:

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

    Besoin d'autres clés? Incorporer par analogie.

    Lorsque les liens de vente ne proviennent pas de Sapa:

    Pas vraiment de garantie pour tous les courtiers de liens corrompus, parce que le code client qu'ils ont est très différent, mais théoriquement, un tel design (en l'absence complète de sève sur le site) devrait aider:

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

    Naturellement, dans ce document nous considérons seulement le camouflage des liens corrompus aux moteurs indiqués au début du document, et aussi très semblable à eux. Sinon, la lecture de ce document devrait être soutenue par la connaissance de php