Prosty skrypt cloaking na wordpress

0

Witam,
mam problem z prostym skryptem cloaking, chcę sprawdzać IP i jeśli akurat osoba lub program która wchodzi na stronę ma IP z listy to ma się włączyć wordpress /katalog/index.php
otóż próbowałem tak w index.php:

$ip = $ENV{‘REMOTE_ADDR’}; 
open(IPLIST, “iplist.txt”);
@IPlist = <IPLIST>;
close(IPLIST);
foreach $line (@IPlist){
chomp($line);
if ($ip eq $line){
eval('/katalog/index.php');
}
}

i był błąd: Parse error: syntax error, unexpected '=' in /www/wycena2_www/www/wycena2.proste.pl/index.php on line 4

Macie pomysł co robię źle?

0

Wszystko. Ten język tylko w niektórych linijkach przypomina PHP, ale to zdecydowanie NIE JEST składnia PHP. Naucz się podstaw składni tego języka.

0

część z tego skryptu wziąłem z bloga o cloakingu, co jest w nim niepoprawnego? błąd dotyczy @IPlist = <IPLIST>;

0

pomoże ktoś?

0
$ip = $ENV{‘REMOTE_ADDR’}; // linijka niepoprawna, apostrofy z worda, ale i tak nie zadziała, bo skąd ta zmienna $ENV
open(IPLIST, “iplist.txt”); // apostrofy z worda, nieznana funckja `open`
@IPlist = <IPLIST>; // totalny błąd składniowy, nic z tej linii nawet nie przypomina PHP
close(IPLIST); // nieznana funkcja, próba użycia jakiejś stałej
foreach $line (@IPlist){ // błąd składniowy foreacha
chomp($line); // brak funkcji chomp
if ($ip eq $line){ // błąd składniowy ifa
eval('/katalog/index.php'); // błąd składniowy evala (ścieżka podana zamiast kodu)
}
}

Nie oczekuj poprawienia tego kodu jako PHP, skoro ten kod ewidentnie nie jest w PHP.

Coś jakbyś prosił o pomoc w poprawieniu błędów językowych w wypracowaniu z angielskiego i podawał kartkę z tekstem po niemiecku.

Nie znam PERL-a, ale funkcja chomp sugeruje, że to jest PERL.

0

No ok, dzięki za odpowiedź, a powiedział byś mi jak zrobić w miarę prosty mechanizm który wyświetli inną wersję strony internetowej dla danej listy IP?
np. Jeśli na stronę będzie chciał wejść ktoś z IP z listy wyświetli mu się inna wersja strony , chodzi o wordpressa, ta druga wersja która będzie pod te IP będzie w katalogu /wordpress/
może takie coś?

if (in_array($_SERVER['REMOTE_ADDR'], $list)) { include('/wordpress/index.php'); }

tylko ja Chciałbym żeby skrypt czytał z pliku txt a nie z tablicy, bo spora jest lista tych IP
Pomógł byś?

0

zrobiłem takie coś:

$roboty_ip = array( "66.249.64.13". "66.249.64.14", "66.249.64.15", "66.249.71.9", "93.94.191.236");
$host_ip = $_SERVER['REMOTE_ADDR'];
$robot = 0;
$i = 0;
while ($i < (count($roboty_ip))) {
if (strstr($host_ip. $roboty_ip[$i])) {
$robot = 1;
break;
}
$i++ ;
}
if ($robot) {
echo "Kod strony spreparowanej dla robota Google";
}

i też błąd :/

1
$lista_robotow = file('roboty.txt');
if (in_array($_SERVER['REMOTE_ADDR'], $lista_robotow)) {
  include ('plik1.php');
}
else {
  include ('plik2.php');
}

UWAGA!! Jeżeli zamierzasz serwować inną stronę wyszukiwarkom, a inną użytkownikom - jest to jedna z gorszych rzeczy w Black SEO i dosyć szybko znikniesz z wyszukiwarek w ogóle! Nie rób tego. Roboty będą odwiedzać Twoją stronę z innych niż znane Tobie IP i sobie treść porównają.

0

Do cloaking-u najlepiej rozpoznawać przez $_SERVER['HTTP_USER_AGENT'] .
Przykładowy skrypt:

if(strstr($_SERVER['HTTP_USER_AGENT'],"Googlebot/") || strstr($_SERVER['HTTP_USER_AGENT'],"DuckDuckBot/")) {
// Treść dla bota Google oraz dla bota wyszukiwarki DuckDuckGo 
} else {
// Treść dla innych
}
0

Żadna opcja nie jest dobra. Boty wykrywając takie rzeczy użyją IP spoza znanego zakresu, User Agent będzie zgodny z istniejącą przeglądarką, prawdopodobnie samo wejście odbędzie się przez przeglądarkę (zresztą Google to już od paru lat nie robi tylko "wget" kodu HTML, tylko wykonuje stronę silnikiem przeglądarki, gdzie wykonuje się JS itd), a źródła będą porównane.

0

Fakt. Sprawdziłem wejścia na stronę i zostały odnotowane dwa wejścia z adresów IP: 66.249.80.3 i 66.249.81.161 każdy z nich z innym useragent-em.

To może coś takiego ?
Bardziej skuteczny kod ;)

if(strstr(gethostbyaddr($_SERVER['REMOTE_ADDR']),".google.")) {
// Dla Google
} else {
// Dla ludzia
}
0

Ach, n00by SEO :D Wy naprawdę myślicie, że to jest do wykrycia w taki banalny sposób? :D Co za problem nie ustawiać rev DNS na jakiejśtam puli IP (albo ustawić inne, niezwiązane z Google, albo nie ustawiać)?

Bez badań javascriptem nic na 100% nie wykryjesz, no ale i tak już musisz wcześniej zaserwować jakąś stronę + jak bot nie wykona javascriptu to nie dostaniesz nawet informacji.

0

mam skrypt który łączy metodę user Agent i adress IP, dzięki czemu metoda cloakingu staje się bezpieczniejsza :) lista IP na stronie http://www.iplists.com/google.txt

<?php
$roboty_ua = file('roboty.txt');
$roboty_ip = file( 'ips.txt');
$agent = $_SERVER['HTTP_USER_AGENT'];
$host_ip = $_SERVER['REMOTE_ADDR'];
$robot = 0;
$i = 0;
while ($i < (count($roboty_ua))) {
if (strstr($agent, trim($roboty_ua[$i]))) {
$robot = 1;
break; }
$i++; }
if (! $robot) {
$i = 0;
while ($i < (count($roboty_ip))) {
if (strstr($host_ip, trim($roboty_ip[$i]))) {
$robot = 1;
break; }
$i++ ;
}
}
if ($robot) {
require(__DIR__.'/wordpress/index.php'); }
?>

ma jeszcze jeden problem:
a co zrobić jeśli chciałbym zastosować to w przypadku skryptów nie wordpressowych? spróbowałem require(__DIR__.'/katalog/index.php'); i wczytało mi treść z tamtego index.php lecz cała zawartość strony np. layout został ten sam, co zrobić w takim wypadku jak wczytać stronę z całego nowego katalogu?

0

MA ktoś pomysł?

1 użytkowników online, w tym zalogowanych: 0, gości: 1