📖 Teorija
Namų darbas — tavo pirmoji kortelė
Namų darbas — tavo pirmoji kortelė rankomis.
- Sukurk
js/components/card.jssucreateCard(pic), kaip pamokoje. Kortelė turi turėti nuotrauką (alt+loading="lazy"), pavadinimą (<h2>) ir datą. - Parodyk ją.
main.jsimportuokcreateCard, sukurk vieną kortelę su išgalvotais duomenimis irappendChildį#app. Serviruok ir patikrink. - Įrodyk XSS skirtumą. Nustatyk
titlereikšmę į'<b>test</b> <img src=x onerror="alert(1)">'. SutextContentpamatysi patį tekstą (įskaitant<b>). Pakeisk įinnerHTML—<b>suryškės, oonerrorbandys įvykdyti. Grįžk įtextContent. Niekada nepalikinnerHTMLkintančiam tekstui. - Papildyk kortelę. Pridėk trumpą paaiškinimą (
pic.explanation) sutruncate(pic.explanation, 120), kad ilgas tekstas neišardytų išdėstymo.
Privalomi testai:
- Struktūros testas: kortelė turi
<article>su nuotrauka, pavadinimu ir data. - Saugumo testas: su
textContent„kenksmingas" pavadinimas rodomas kaip tekstas, ne vykdomas.
Atsiskaitymui: ekrano nuotraukos: (1) kortelė naršyklėje, (2) tas pats „kenksmingas" pavadinimas, saugiai parodytas kaip tekstas.
Toliau. Kortelė yra, bet ji negyva — spustelėjus nieko nevyksta. 3 pamokoje pridėsim įvykius: ♡ mygtuką, atidarymą paspaudus, klaviatūros sparčiuosius klavišus — ir sutiksim klasikinį „burbuliavimo" spąstą.