Rád bych zeptal, někoho, kdo se vyzná v HTTP, jaký je rozdíl mezi tím jak se projeví na straně dotazovaného serveru tyto dva skripty, které uvádím níže?
Je to PHP skript, který se má vložit do kódu stránky a tím se do stránky načte část kódu s odkazy na jiné stránky projektu - slouží to pro výměnu odkazů.
Originální skript:
<?php
if(!function_exists('_seolista')){
function _seolista($c,$k){
$x='';$t=time();
if($f=@fsockopen('seo-lista.cz',80,$r,$n,2)){
fputs($f,"GET /s2/$c/$k HTTP/1.1\r\n"."Host: seo-lista.cz\r\nConnection:close\r\n\r\n");
stream_set_blocking($f,0);
while((!feof($f))&&((time()-$t)<3)){
usleep(10^4);
if(($l=fgets($f))!==false)
$x.=$l;
}
}
if(preg_match("/^HTTP\\/1.1 200 OK/",$x)){
print substr($x,strpos($x,"\r\n\r\n")+4);
}
}
}
;
@_seolista('win',123456); // copyright www.SEO-LISTA.cz
?>
a alternativní skript:
<?php
if($content=file_get_contents("http://seo-lista.cz/s2/win/123456"))print $content;
?>
Oba skripty načtou seolištu. Myslel jsem, že rozdíl bude v tom, že originální skript odešle v hlavičce:
"GET /s2/$c/$k HTTP/1.1\r\n"."Host: seo-lista.cz\r\nConnection:close\r\n\r\n");"
kde to $k je něco ve funkci ID a pošle si vlastní Host: seo-lista.cz a umožní tak evidenci o přístupu klientů systému na server.
Když se ale originální skript vloží do nějakého PHP souboru a spustí se na serveru, který nemá zakázané fsockopen, tak jsem v odesílané hlavičce
(LiveHTTPHeaders) nic z toho (Host:seo-lista.cz a domnělé ID 123456 ) neviděl. Odesílaný požadavek měl parametry souboru, do kterého se ta seolišta měla načíst
V podstatě mi jde o to, zda je možné oba skripty na druhém serveru rozlišit
no nevim presne, na co se ptas...
kdyz chces stahnout http://seo-lista.cz/s2/win/123456, tak se serveru vzdycky posle
GET /s2/win/123456 HTTP/1.1
Host: seo-lista.cz
a dalsi hlavicky. ale tyhle dva radky jsou vzdycky takhle, na prvnim radku (to neni hlavicka) metoda a absolutni adresa v ramci serveru a verze protokolu, mezi hlavickama pak musi byt uvedena hlavicka Host, ktera obsahuje adresu serveru. jinak (treba dat adresu serveru uz za get) to nejde
ten skript s fsockopen by teda mel poslat takovejhle pozadavek na soubor, akorat ze to win a 123456 tam predavas promennou a ne napevno
Díky za reakci! Možná jsem se, místo toho jestli je možné ty projevy obou skriptu na vzdáleném serveru od sebe odlišit, měl zeptat jestli je možné pomocí skriptu s file_get_contents nahradit ten původní oficiální skript, který na WZ díky fsockopen nefunguje a jestli to ti na druhé straně nepoznají, že se dotazuje něco jiného než jejich skript, eventuálně jestli ten druhý skript nemá, laicky řečeno, nějaké "vedlejší účinky"
=ds=
Dle mého názoru "vedlejší účinky" neexistují, tedy že cíl (http://seo-lista.cz/....) nezjistí, který ze skriptů byl použit. Tedy: podle mne se jedná o 2 téměř ekvivalentní skripty.
tak mohli by to poznat, pokud file_get_contents posila nejak hlavicky navic, ale osobne si myslim, ze to kontrolovat nebudou nebo jim to bude jedno
Ta moje představa o tom, že ve výpisu komunikace pomocí LiveHTTPHeaders bude vidět něco z té komunikace, kterou zajišťuje fsockopen je nejspíš mylná. Přeci to musí být tak, že já zavolám můj skript, tedy to, kde je uložen ten PHP kód pro import lišty, to bude jedna komunikace mezi mým prohlížečem a serverem, v tomto případě WZ, než mi ovšem server odpoví tak musí provést ještě komunikaci se serverem, který dodá lištu. A v této komunikace by mělo být obsaženo to:
Host: seo-lista.cz,
které si tam ten skript, který použije to fsockopen, pošle místo Host, které by jinak poslal server. Tedy pokud se použije file_get_contents tak v komunikaci WZ-server listy nebude jistě zapsané Host: seo-lista.cz
Nicméně je asi otázka jestli se tímto SEO švindlem zabývat, tisíce odkazů to možná vygeneruje, kolik jich však přečtou vyhledávače a jak se zachovají k faktu, že tam při příští návštěvě ten odkaz už nebude je asi věc jiná. Nejspíš to bude pouze kvalitní propagave webu provozovatele systému
>> pokud se použije file_get_contents tak v komunikaci WZ-server listy nebude jistě zapsané Host: seo-lista.cz
prave ze bude. hlavicka Host obsahuje domenove jmeno serveru, tzn stroje, ke kterymu se pripojujes. napr pokud se budes pripojovat k webu na wz, tak se pripojis na ip adresu, ktere odpovidaji stovky webu. a tou hlavickou Host prave urcis, o ktery mas zajem. hlavicka Host je povinna.
Aha, díky za trpělivost! Takže skript pošle:
http://seo-lista.cz/s2/win/123456
GET /s2/win/123456 HTTP/1.1
Host: seo-lista.cz
...
Takže skript pošle:
GET /s2/win/123456 HTTP/1.1
Host: seo-lista.cz
...
Díky! Tak je to správně! Tak to má být!
Odpověď od technické podpory seo-listy.cz skoro po měsíci:
Dobrý den,
ano, pokud jste v PHP zběhlý, můžete klidně použít jakékoliv
ekvivalentní funkce. Neručíme Však za to, že v takovém případě
nepoškodí načítání Vašich stránek např. výpadek či nedostupnost našeho
serveru.
Do stránky je potřeba vypsat obsah odpovědi, která se vrací na HTTP požadavek
http://seo-lista.cz/s2/YYY/XXXX
kde YYY je podle kódování Vašich stránek jedna z ( iso | utf | win ) a
XXXXX vaše registrační číslo, obojí naleznete na konci kódů které Vám
byly zaslány při registraci.
S pozdravem
Luděk Štěpán
technická podpora SEO-lišta.cz
Tedy reakce na to, zda lze použít něco jiného než fsockopen().
To já jsem se reakce nedočkal. Nakonec jsem to smazal.
Po dobu, co jsem si s tím hrál, jsem "získal" 19652 odkazů, na kterých se podílelo 140 URL. 43 URL bylo ze stejné IP adresy jako seo-lista.cz. Těchto 43 URL tvořilo 30%. Pak bylo 12 URL se zastoupením 1-2% a zbytek byl mezi 0,5-0,7%.
Na internetu jsem našel jednu stránku, která měla uvedeno, že se účastní od 24.6. tehdy to bylo asi měsíc - jeho podíl byl 111 zobrazených odkazů (z 19652). Přišlo mi, že mít 0,5% podíl není moc perspektivní frekvence zobrazování pro případ návštěvy Googlebota. I přes to měla ta zmíněná stránka při link:doména zalinkovaných 13 stránek a z toho jen jedna nebyla ze seo-lista. Nyní jich má 30. Na backlinkwatch.com má uvedeno 2904 zpětných odkazů. tedy to nějaký vývoj prodělalo.
Zajímavé by bylo zjistit jestli ten zjištěný poměr je nějaká konstanta nebo jestli se vyvíjí, např. když bude víc cizích stránek tak jestli bude jejich poměr mezi zobrazenými vzhledem k "domácím" menší.