Crossite scripting (XSS) este una dintre cele mai frecvente vulnerabilități în aplicațiile web. Cu toate acestea, este destul de ușor să vă apărați împotriva acestui atac - schimbați doar simbolurile <.> și . care afectează direct pagina HTML. Dacă doriți să treceți atributele de etichete, trebuie să scăpați de citate: "și".
În PHP, acest lucru se poate face cu funcția htmlspecialchars. care codifică simbolurile de mai sus (trebuie să utilizați atributul ENT_QUOTES pentru a converti ghilimele):
Funcția htmlspecialchars () convertește <в < и> în gt;. citatul dublu devine "și singur # '. Acest lucru elimină posibilitatea de a introduce script-uri sau link-uri către pagină, precum și schimbarea structurii codului HTML.
Trebuie notat că pagina trebuie codificată în Content-Type, altfel poate fi folosit un alt set de simboluri care au valori diferite (de exemplu, UTF-7).
Funcția htmlentities este identică cu funcția htmlspecialchars. dar înlocuiește toate entitățile HTML posibile. Poate fi folosit cu codificări vechi, dar cu Unicode nu este de obicei folosit.
Traducerile documentelor dintr-o limbă străină în limba rusă sunt în mare parte necesare pentru persoanele particulare. Acestea pot fi documente comerciale, scrisori și altele. Puteți comanda traducerea limbii Azerbaidjan în limba rusă în compania "Maestru de traducere". Prețurile avantajoase și condițiile scurte de transfer vă vor plăti cu siguranță și veți veni din nou acolo!
Scanare automată
Dacă protecția împotriva XSS este atât de simplă, atunci de ce este scriptingul între site-uri atât de comun ca o vulnerabilitate? Motivul este că, uneori, programatorii uită să folosească funcția de evadare a caracterului. Și se întâmplă pe multe site-uri celebre.
Desigur, ar fi mai bine să automatizezi procesul de scanare a codului HTML. Majoritatea sistemelor CMS moderne oferă conversia automată a datelor tipărite. De exemplu, Smarty are un variabil $ implicit_modificatori. în care puteți adăuga filtre pentru protecția codului. Net PHP nu reprezintă această posibilitate.
Nette Latte Framework
Nette Latte este un șablon pentru recunoașterea automată a conținutului contextual:
Acest cadru vă permite să evitați multe probleme cu prelucrarea codurilor mari și complexe:
Pentru a evita atacurile XSS este destul de simplă, nu uitați să utilizați htmlspecialchars (). Dar dacă acest lucru este dificil pentru dvs., puteți utiliza sisteme automate de filtrare a datelor, de exemplu Nette Latte. Aceste metode ar trebui să excludă, cel mai probabil, posibilitatea XSS-ului.