Junior — Middle
Milliseid meetodeid saab kasutada XSS-i (ristkultuuriline skriptimine) vältimiseks?
sobes.tech AI
Vastus AI-lt
Kaitseksiooni (XSS) rünnakute kaitsmē tiek izmantotas vairākas galvenās metodes:
- Izvades escape: Visas dati, kas tiek rādīti HTML, ir jāpareizi escape, lai īpašie simboli (piemēram,
<,>,&) netiktu interpretēti kā kods. - Content Security Policy (CSP) izmantošana: CSP ļauj ierobežot skriptu un citu resursu avotus, samazinot ļaunprātīga koda izpildes risku.
- Ievades datu validācija un filtri: Pārbaudiet un attīriet lietotāja ievadi, noņemot vai kodējot potenciāli bīstamus simbolus.
- Droši šabloni: Go valodā, piemēram,
html/templatepakotne automātiski escape datus, ievietojot tos HTML.
Piemērs Go ar html/template:
package main
import (
"html/template"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
tmpl := template.Must(template.New("page").Parse(`<html><body>Lietotāja ievade: {{.}}</body></html>`))
userInput := r.URL.Query().Get("input")
tmpl.Execute(w, userInput) // automātiski escape
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}
Tādējādi, pat ja lietotājs ievadīs ļaunprātīgu skriptu, tas tiks rādīts kā teksts un netiks izpildīts.