jesteś tutaj
261
Interakcja ze stronami WWW
Co robi ten kod?
Przeanalizujemy teraz działanie tego kodu, by dowiedzieć się, w jaki sposób dr Zatan generuje
swoje kody dostępu. Kiedy omówimy każdą instrukcję, zrozumiesz, jak to wszystko działa.
var access =
document.getElementById(”code9”);
var code = access.innerHTML;
code = code + ” pöïnocy”;
alert(code);
1DVWĐSQLHXİ\ZDP\WHJRHOHPHQWXF]\OLHOHPHQWXRLGHQW\ILNDWRU]H
”code9”LSRELHUDP\ZDUWRĤþMHJRZâDĤFLZRĤFLinnerHTMLNWyUċ
]DSLVXMHP\Z]PLHQQHMcode.
.RGGU=DWDQDGRGDMHGR]DZDUWRĤFLZ\EUDQHJRHOHPHQWX]DSLVDQHM
Z]PLHQQHMcodeF]\OLĵ0öM]HJDUHNVWDQÈïRĵâDĚFXFK]QDNyZ
ĵSöïQRF\ĵ1DVWĐSQLHZ\ĤZLHWODQHMHVWRNQRLQIRUPDF\MQH
NWyUHJR]DZDUWRĤFLċMHVWNRGGRVWĐSX]DSLVDQ\Z]PLHQQHMcode.
SLG ĵFRGHĵ!0öM]HJDUHNVWDQÈïRS!
To wywołanie pobiera
element o identyfikatorze
„code9”. Wychodzi na to, że
to jest ten element…
var access =
document.getElementById(”code9”);
var code = access.innerHTML;
code = code + ” pöïnocy”;
alert(code);
Elementem o identyfikatorze „code9” jest
element akapitu, a jego zawartością
(a raczej wartością właściwości innerHTML)
jest tekst „Mój zegarek stanął o”.
var access =
document.getElementById(”code9”);
var code = access.innerHTML;
code = code + ” pöïnocy”;
alert(code);
A zatem do łańcucha „Mój zegarek
stanął o” dodajemy „ północy”, uzyskując
kod dostępu w postaci „Mój zegarek
stanął o północy”, który następnie
wyświetlamy w oknie informacyjnym.
1
2
1DMSLHUZNRG]DSLVXMHZ]PLHQQHMaccessZ\QLN]ZUyFRQ\SU]H]Z\ZRâDQLHPHWRG\
getElementByIdRELHNWXdocumentGRNWyUHM]RVWDâSU]HND]DQ\âDĚFXFK]QDNyZ”code9”
7DPHWRGD]ZUDFDRELHNWHOHPHQWX
3
Obiekt document oraz
obiekt elementu poznasz
dokładniej dalej w tym
rozdziale.
262
Rozdział 6.
Jak działa skrypt misjiamania kodu
Szybkie podsumowanie
Co właściwie przed chwilą zrobiliśmy? Cóż, użyliśmy kodu JavaScript, który odwołał
się do zawartości strony (nazywanej także
dokumentem), pobrał jeden z jej elementów
(ten, który miał identyfikator
”code9”
), następnie pobrał jego zawartość (którą okazał
się łańcuch znaków
ĵ0öM]HJDUHNVWDQÈï
), dodał do niego łańcuch
ĵSöïQRF\ĵ
,
a uzyskany w ten sposób kod dostępu wyświetlił w oknie informacyjnym.
2U]HïNUÈĝ\QD
/LVW]GÈĝDNX
JRG]LQÈGXFKöZ
3RZLHG]LHOLĝHEÚG]LHSDGDÊSR
Czy drozd krzyczy o
*G]LHPRĝQD]QDOHěÊGU=DWDQDSR
3RZLHG]LDïHPFKïRSFRPE\SU]\QLHĂOLPL
KHUEDWÚSR
Gdzie moja forsa? Czekam do
0öM]HJDUHNVWDQÈïR
0öMSDUDVROQLHODWD&]DUSU]HVWDï
G]LDïDÊSR
=LHORQ\NDQDUHNSU]\OHFLR
2VWU\JLRWZLHUDMÈVLÚR
Strona dr. Zatana zawiera wszystkie możliwe kody dostępu,
przy czym każdy z nich jest umieszczony w odrębnym
akapicie posiadającym unikalny identyfikator (określony
przy użyciu atrybutu
id
).
1
Za kulisami JavaScript pobiera element
o identyfikatorze "
code9
".
2
Następnie pobiera zawartość tego
elementu, dodaje do niej łańcuch
znaków
ĵSöïQRF\ĵ
, a całość wyświetla
w oknie informacyjnym.
3
ĵ0öM]HJDUHNVWDQÈïRĵĵSöïQRF\ĵ
Przeglądarka
SLG ĵFRGHĵ!0öM]HJDUHNVWDQÈïRS!
A teraz, pomijając zamiary dr. Zatana, jego znajomość JavaScriptu oraz to, co sądzimy
na temat jego schematów zabezpieczeń, musimy jednak zwrócić uwagę na sprawę
najważniejszą, a mianowicie na to, że strona WWW jest żywą, oddychającą
strukturą
danych
, z którą nasz kod JavaScript może prowadzić interakcję — może odwoływać się
do elementów strony i odczytywać zawartość tych elementów. Jednak to nie wszystko
— można także postępować odwrotnie: można używać kodu JavaScript, by zmieniać
zawartość oraz strukturę strony. Aby jednak to wszystko robić, musimy się na chwilę
cofnąć i lepiej zrozumieć sposób współdziałania kodu HTML i JavaScript.

Get Programowanie w JavaScript Rusz głową! now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.