Kuidas saate kaitsta rakendust potentsiaalselt ohtlike sisendite eest kliendi poolt?
sobes.tech AI
Vastus AI-lt
Kaitse ohtliku sisendi vastu:
-
Andmete sanitiseerimine: Kasutaja sisendi puhastamine potentsiaalselt kahjuliku koodi (HTML, JavaScript) eest enne selle kuvamist lehel.
// Näide DOMPurify abil sanitiseerimisest const cleanHtml = DOMPurify.sanitize(userInput); -
Väljundi ekraanimine: Erimärkide muutmine nende ohuteks ekvivalentideks enne lehele kuvamist, et vältida koodi täitmist.
<!-- Näide ekraanimisest --> <p id="output"></p> <script> const userInput = "<script>alert('XSS')</script>"; document.getElementById('output').textContent = userInput; // Kasutades textContent ohutuks väljundiks </script> -
Sisu turvapoliitika (CSP): HTTP päise
Content-Security-Policyseadistamine, piirates sisu allikaid, mida saab laadida ja käivitada brauseris.Content-Security-Policy: default-src 'self'; script-src 'self' https://cdnjs.cloudflare.com; style-src 'self' 'unsafe-inline'; -
Andmete valideerimine: Kasutaja sisendi kontrollimine vastavalt oodatud formaadile, andmetüübile ja pikkusele nii kliendi- kui ka serveripoolselt.
// Näide kliendi valideerimisest if (inputField.value.length > 100) { // Viga valideerimisel } -
Turvaliste API-de ja teekide kasutamine: Eelistada sisseehitatud API-sid ja autoriteetseid teeke DOM-i töötlemiseks, andmete töötlemiseks ning
innerHTMLkasutamise vältimiseks mittehinnatud andmetega. -
Kasutaja õiguste piiramine: Rakendada minimaalsete privileegide põhimõtet, kui kasutajaliides ei luba potentsiaalselt ohtlikke tegevusi ilma vastava autoriseerimiseta.
-
HTTPS: Kasutada alati HTTPS-i andmete krüpteerimiseks kliendi ja serveri vahel.
-
CSRF kaitse: Kasutada CSRF-tokeneid päringute autentsuse kontrollimiseks.
// Näide CSRF-tokeni saatmisest fetch('/api/update', { method: 'POST', headers: { 'X-CSRF-Token': csrfToken }, body: JSON.stringify(data) }); -
HttpOnly sildi kasutamine küpsistel: Seada HttpOnly silt sessiooniküpsistele, et takistada nende ligipääsu JavaScripti kaudu.
-
Sõltuvuste regulaarne uuendamine: Hoida kasutatavaid teeke ja raamistikke ajakohasena, et kõrvaldada teadaolevad haavatavused.