Zrozumieć kod, który wklejasz. Analiza techniczna skryptu trackingowego.

Zbliżenie ekranu komputera pokazujące kod instalacyjny JavaScript oraz panel analityczny z wykresami.
Instalacja GoodStat: Zrozumieć kod, który wklejasz. Analiza techniczna skryptu trackingowego.

Darmowy System Statystyk WWW GoodStat zyskuje na popularności dzięki swojej prostocie, szybkości działania i – co najważniejsze – pełnej suwerenności danych. Instalacja systemu sprowadza się do wygenerowania w panelu administracyjnym unikalnego kodu i wklejenia go na stronę, którą chcemy monitorować.

Dla wielu użytkowników ten kod to "czarna skrzynka". Ale jako programiści i świadomi webmasterzy, lubimy wiedzieć, co dokładnie dzieje się pod maską naszej strony. Dzisiaj uchylimy rąbka tajemnicy i przeanalizujemy technicznie, w jaki sposób System GoodStat generuje kod instalacyjny oraz co ten kod robi po stronie klienta (w przeglądarce).

Część 1: Magia po stronie serwera (PHP)

Kod, który widzicie w panelu GoodStat, nie jest stałym tekstem. Jest on dynamicznie generowany przez język PHP w momencie, gdy wchodzicie na podstronę "Kod Java-Script". Dzięki temu jest on idealnie dopasowany do Waszej konkretnej instalacji. Przyjrzyjmy się kluczowym operacjom w dostarczonym fragmencie kodu PHP:

1. Wykrywanie protokołu (HTTP vs HTTPS)
Niezwykle ważnym elementem jest funkcja site_protocol():

function site_protocol() {
    if(isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1) || isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &&  $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
    { return $protocol = 'https://'; }else{ return $protocol = 'http://'; }
}

Ta funkcja automatycznie sprawdza, czy Wasz panel administracyjny działa na bezpiecznym połączeniu SSL (HTTPS). Dlaczego to kluczowe? Ponieważ jeśli Wasza monitorowana strona działa na HTTPS, a skrypt statystyk próbowałby załadować się przez zwykłe HTTP, przeglądarka zablokowałaby go jako tzw. "Mixed Content" (treść mieszaną), a statystyki by nie działały. GoodStat dba o to, by protokoły się zgadzały.

2. Dynamiczne budowanie ścieżki
Kluczowa zmienna $do_kodu_java powstaje w ten sposób:

$do_kodu_java = $_SERVER['SERVER_NAME'].''.str_replace("kod_javascript.php","zapis",$_SERVER['SCRIPT_NAME']);
$do_kodu_java = $protocol.''.$do_kodu_java;

PHP bierze nazwę Waszej domeny (np. statystyki.twojastrona.pl), automatycznie podmienia nazwę pliku panelu na katalog zapis i dodaje wykryty wcześniej protokół. W efekcie, w kodzie do wklejenia pojawia się precyzyjny adres URL, pod którym Wasz serwer GoodStat oczekuje na dane.

Część 2: Co dzieje się w przeglądarce? (JavaScript)

Po stronie serwera PHP wygenerował textarea z gotowym kodem HTML/JavaScript. To jest właśnie ten fragment, który wklejacie na swoją stronę. Wygląda on mniej więcej tak:

<!-- start System GoodStat -->
<script language='javascript'>
<!--
var ipath='https://statystyki.twojastrona.pl/zapis'
document.write('<SCR' + 'IPT LANGUAGE="JavaScript" SRC="'+ ipath +'/stat.js\"><\/SCR' + 'IPT>');
//-->
</script>
<!-- stop System GoodStat -->

Przeanalizujmy jego działanie krok po kroku:

  • Zmienna ipath: Skrypt definiuje lokalną zmienną ipath, która przechowuje adres URL do katalogu z głównym skryptem zapisującym dane na Waszym serwerze GoodStat. To właśnie ta wartość została wygenerowana dynamicznie przez PHP.
  • document.write i wstrzykiwanie skryptu: To serce operacji. Skrypt używa metody document.write(), aby w locie wstawić do kodu HTML Waszej strony nowy tag <script>.
    Celowe rozbicie słowa '<SCR' + 'IPT...' zapobiega błędnemu zinterpretowaniu tego fragmentu przez starsze przeglądarki jako zamknięcia głównego skryptu.
  • Ładowanie stat.js: Wstrzyknięty tag wskazuje na plik stat.js znajdujący się pod adresem ipath. To właśnie ten plik stat.js jest "mózgiem" operacji po stronie klienta.
  • Zapis danych: To stat.js zbiera informacje o rozdzielczości ekranu, czasie spędzonym na stronie, czy odsyłaczu, a następnie wysyła te dane z powrotem do Waszego serwera GoodStat.

Podsumowanie

Jak widzicie, kod instalacyjny Systemu GoodStat to przemyślana konstrukcja. PHP dba o to, by automatycznie dostosować skrypt do Waszej domeny i protokołu bezpieczeństwa, a lekki JavaScript wstrzykuje główny silnik statystyk na monitorowaną stronę. Dzięki tej analizie macie pewność, że wklejając kod GoodStat, korzystacie z bezpiecznego, autorskiego i w pełni transparentnego rozwiązania.

Gdzie najlepiej wkleić ten kod? Zalecamy umieszczenie go tuż za tagiem otwierającym <head> w kodzie HTML Waszej strony, aby ładowanie statystyk nie opóźniało wyświetlania głównej treści strony użytkownikowi.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *