Operacijų įspėjimas, raginimas ir patvirtinimas. Sąveika su pagrindiniu Javascript. „JavaScript“ – technikos įspėjimas, raginimas ir patvirtinimas Taisyklės įtraukimas į paprastą taisyklę

Tam tikru momentu susipažinsime su lango objekto metodais: alert(), prompt() ir patvirtinti().

alert() metodas

Alert() metodas priskyrimams, rodomiems pirmojo dialogo lango ekrane prieš pranešimus, priskirtus mygtuku „Gerai“. Jis gali būti pergalingas, kad perduotų svarbią informaciją koristuvai.

langas.alert(parametras_1);

Alert() metodas gali turėti vieną konkrečiai kalbai būdingą parametrą – įspėjimo tekstą, kuris rodomas dialogo lange. Daniškas metodas nieko nekeičia po savo vikonnannya.

Pavyzdžiui, rodoma, kad svetainė apžiūrima, kai ji prispaudžiama prieš dialogo langą veikiančia jėga: Eikite į svetainę

patvirtinimo() metodas

Lango objekto metodas patvirtinti() naudojamas dialogo langui rodyti ekrane iš priskirtų raginimų ir mygtukų „OK“ ir „Check“. Galite laimėti patvirtinimą, kad galėtumėte paklausti koristuvacho apie leidimą laimėti chi ієї chi іnshо ії.

var rezultatasPatvirtinti = patvirtinti(parametras_1);

Šis metodas turi vieną parametrą – priminimo tekstą, kuris bus rodomas dialogo lange.

Patvirtinimo() metodas kaip jo viconn rezultatas (resultConfirm) paverčia vieną iš dviejų reikšmių:

  • tiesa koristuvach paspausdami "Gerai";
  • false , lyg koristuvach būtų paspaudęs "Skasuwati" arba uždaręs jogą.

Pavyzdžiui, elemente id="resultConfirm" dialogo lange spustelėjus mygtuką "Gerai":

Prompt() metodas

Prompt() priskyrimo metodas, skirtas rodyti dialogo langą su raginimais, teksto lauką duomenims įvesti ir naudojant mygtukus „OK“ ir „Say“. Vono yra atpažįstamas norint paprašyti koristuvacho duomenų.

var resultPrompt = prompt(parametras_1, parametras_2);

Šis metodas turi du parametrus:

  • priminimas, kaip jis bus rodomas dialogo lange. Tsey parametras є obov'yazykovym i mіstit povіdomlennya, yakі dani kaltas, kad įvedė koristuvach teksto lauką;
  • kitas parametras yra "nesutraukiamas" ir gali būti pakeistas, kad būtų įterpta cob reikšmė, kaip bus parodyta įvesties dialogo lange.

Galite apversti šiuos duomenis naudodami prompt() metodą:

  • teksto reikšmės - kad įvesties lauke duomenys būtų įvesti ir koristuvach paspaudus "Gerai";
  • tuščia eilutė - kai tik įvesties lauke nepraleidžiami duomenys ir koristuvach, paspausdami "Gerai";
  • null – kaip ir įvedus "Skasuvati" ar uždarant langą, nesvarbu, ar duomenys buvo įvesti teksto laukelyje.

Pastaba: dialogo langas, kuris yra vieno iš metodų alert() , confirm() arba prompt() modal rezultatas, tai yra. Jis blokuoja koristuvach prieigą prie taško Batkiv priedo (naršyklės), koristuvach dokai neuždaro dialogo lango.

Pavyzdžiui, užklausa pateikiama iš koristuvach vardo ir rodoma kaip teksto elemento c id="nameUser" rezultatas:

Pavyzdžiui, paprašykite koristuvacho atspėti skaičių 8:

... Atspėk skaičių

Cross-Site Scripting (XSS) - skirtumas, kaip jis naudojamas kode, kuris matomas kliento pusėje (JavaScript) žiniatinklio pusėje, kaip į jį žiūri kiti.

Nesantaika yra kaltinama dėl duomenų filtravimo trūkumo, pavyzdžiui, korystuvach, kuris yra per didelis įterpimui į tinklalapį. Tai lengviau suprasti konkrečiu pavyzdžiu. Atspėk, ar svečių knyga yra programa, kuri yra pripažinta priimanti duomenis iš tam tikros rūšies koristuvacha, kuri atspindi išorę. Aišku, kad svečių knyga jokiu būdu neperžiūri ir nefiltruoja įvestinų duomenų, o tiesiog juos atspindi.

Galite pridėti savo paprasčiausią scenarijų (nieko nėra paprastesnio, galite rašyti blogus scenarijus PHP - per turtingas, kad kažkas tai padarytų). Tačiau jau yra pakankamai paruoštų variantų. Pavyzdžiui, aš kalbu apie pažintį su Dojo ir OWASP Mutillidae II. Yra panašus pavyzdys. Atskiroje Dojo aplinkoje eikite į naršyklę, kad gautumėte raginimų: http://localhost/mutillidae/index.php?page=add-to-your-blog.php

Kaip apie kai kuriuos koristuvachіv vvіv:

Tada tinklalapyje bus rodoma:

Vitanija! Būtina jūsų svetainė.

Pavyzdžiui, įveskite kodą taip:

Vitanija! Būtina jūsų svetainė.

Tai turėtų atrodyti taip:

Naršyklės išsaugo anoniminius slapukus iš daugybės svetainių. Svetainės oda gali pašalinti tik jo išsaugotus slapukus. Pavyzdžiui, svetainė example.com išsaugojo kai kuriuos slapukus iš jūsų naršyklės. Jei einate į kitą.com svetainę, ta svetainė (kliento ir serverio scenarijai) negali pasiekti slapukų, todėl example.com išsaugomas.

Jei example.com yra išanalizuota prieš XSS, tai reiškia, kad galime kitu būdu pereiti į naują JavaScript kodą ir šis kodas bus įvyniotas į example.com svetainės pavadinimą! Tobto. Šis kodas pašalina, pavyzdžiui, prieigą prie slapukų svetainėje example.com.

Manau, visi prisimena, kad čiabuvių naršyklėse naudojamas JavaScript, t.y. Dėl XSS buvimo shkidlivy kodo įdiegimas neleidžia pasiekti koristuvach duomenų, kurie atidaro svetainės pusę.

Diegimo kodas apima visus tuos, kurie naudoja JavaScript, bet pats:

  • neleidžia prieiti prie slapukų svetainei, kurią žiūrite
  • galite pakeisti seną išvaizdą
  • neleidžia pasiekti mainų srities
  • galite naudoti „JavaScript“ programas, pavyzdžiui, kі-loggers
  • prenumeruoti BeEF
  • kad in.

Paprasčiausias slapukų pavyzdys:

tikrai, budrus vikoristovuetsya mažiau už XSS. Tikrai shkіdlive korisne navantazhennya zdіysnyuє prihovanі dії. Vaughn prihovanno sv'yazuetsya z vіddalenim įsibrovėlio serverį ir perduoda naujam pavogtus duomenis.

Vidi XSS

Dar svarbiau, kad jūs turite suprasti apie XSS tiems, kurie smirda:

  • Išsaugoti (paskelbti)
  • Vidobrazhenі (nenuolatinis)

Pirmojo pavyzdys:

  • Pristatė užpuolikas, specialiai suformuotas pranešimas į svečių knygą (komentaras, forumas, profilis), kaip kuo greičiau patekti į serverį, zavantazhuetsya iš serverio, jei koristuvachi paklausia pusės nuomonės.
  • Užpuolikas atėmė prieigą prie serverio duomenų, pavyzdžiui, per SQL injekciją, ir pavogė duomenis, kurie, atrodo, buvo koristuvachev, suteikę kenkėjišką JavaScript kodą (su kilogerais arba BeEF).

Nepadorumo pavyzdys:

  • Svetainėje yra paieška, kuri tuo pačiu metu su paieškos rezultatais rodoma kshtalt „Jūs ieškojote: [paieškų eilutė]“, naudojant šiuos duomenis jie nėra filtruojami pagal tinkamą reitingą. Jei tokia pusė naudojama tik tiems, kurie gali ją priversti, tada, kol užpuolikas nesiunčia jėgos į kitą coristuvach svetainę, ataka neveikia. Kaip aukai siunčiamos jėgos pakaitalą, galite laimėti kenksmingo scenarijaus patalpinimą neutralioje svetainėje, kurią auka mato.

Kiti mato (pavyzdžiui, įvairius nenuolatinius XSS neatitikimus, jiems atrodo, kad tai gali būti kitokio tipo nuolatinis XSS):

  • DOM modeliai

XSS bazių DOM ypatybės

Paprasčiau tariant, „puikaus“ ​​nekompetentingo XSS kenkėjiškas kodas gali būti traktuojamas taip, lyg tai būtų HTML kodas. Pavyzdžiui, posilannya formuojamas tokiu rangu:

http://example.com/search.php?q="/>

Ir kai atidarysite išvesties HTML kodą, galite pamatyti kažką panašaus į tai: