Utwórz klatkę kluczowoą w 2 klatce i wciśnij F9, aby dodać skrypt wykrywania odtwarzacza ukazany na listingu 1.0. Uwaga skrypt ten dziiała dla odtwarzaczy Flasha nowszych niż 4.
Teraz utwórz ujęcie kluczowe w 5 klatce i nadaj jej etykiete o nazwie 'sprawdzanie', dodaj teraz do tej klatki skrypt z listingu 2.0
Opublikuj teraz film Flasha dla wersji 4. Teraz edytuj plik .html wygenerowany w ten sposób i dodaj linię kodu w znacznikach <head>:
<meta http-equiv="Refresh" content="8; url=download.html" />
Dla przeglądarki jest to instrukcja, że po ośmiu sekundach ma odświerzyć zawartość okno za pomocą załadowania pliku download.html. Możesz również dodać napis "Sprawdzanie obecności odtwarzacza Flash Player.." wyśrodkowany na stronie. Zapisz plik i to na tyle, sniffer gotowy.
Listing
// Tworzenie zmiennej Flasha, której wartość odpowiada
// zmiennej środowiskowej $version we Flashu 4, 5 lub 6.
// Akcja ta nie zostanie wykonana przez odtwarzacze Flasha 3
// lub starszych wersji
player = eval("$version");
// Wartość zmiennej $version zostanie zapisana w formacie:
//
// abc 1,2,3,4
//
// gdzie abc oznacza system operacyjny (np. WIN, MAC)
// a 1 i 2 są głównymi oznaczeniami wersji systemu
// (np. 4.0, 5.0, itd.), natomiast 3 i 4 są oznaczeniami
// podwersji systemu (np. r20, r27, etc.)
//
// W przypadku odtwarzacza Flasha 7 oznaczenie systemu wygląda tak:
// WIN 7,0,0,0 lub MAC 7,0,0,0. Jednak odtwarzacz ten dostępny jest
// także dla innych platform systemowych, np. UNIX i POCKETPC.
//
// Wystarczy nam tylko główne oznaczenie wersji systemu, które
// pobierzemy przy użyciu pętli i funkcji substring(), wyszukujących
// odstęp (" ") pomiędzy opisem identyfikującym system a numerem wersji.
// Główne oznaczenie rozpoczyna się zaraz za tym odstępem.
// Flash 3 pominie te linie.
playerLength = length(player);
i = 1;
while (i<=playerLength) {
currentChar = substring(player, i, 1);
if (currentChar eq " ") {
platform = substring(player, 1, i-1);
majorVersion = substring(player, i+1, 1);
break;
}
i = i+1;
}
// Ten kod sprawdza wartość zmiennej majorVerison.
// Odtwarzacz Flash Player 3 nie jest w stanie
// wykonać akcji call(), dostępnej tylko dla wersji 4 lub późniejszej.
if (majorVersion == " ") {
// Flash 3 wykona ten kod automatycznie,
// ponieważ nie potrafi zinterpretować akcji if
getURL("flash3.html");
} else {
call("checkPlayer");
}
// Zabezpieczenie przed ewentualnym zapętleniem filmu.
stop();
//listing 2.0
// Wartość zmiennej majorVersion będzie równa 4, 5 6 lub 7,
// co odpowiada wersjom Flasha o tych samych numerach.
if (Number(majorVersion) == 4) {
// Jest to kod wykonywany przez Flasha 4.
getURL("flash4.html");
} else if (Number(majorVersion) == 5) {
// Jest to kod wykonywany przez Flasha 5.
getURL("flash5.html");
} else if (Number(majorVersion) == 6) {
// Jest to kod wykonywany przez Flasha 6.
getURL("flash6.html");
} else if (Number(majorVersion) >= 7) {
// Jest to kod wykonywany przez odtwarzacz Flash 7 (lub późniejszy).
getURL("flash7.html");
}
Ranga: Administrator serwisu Punktów: 0