Heim > Artikel > Betrieb und Instandhaltung > XSS-Klassifizierung und Abwehrmaßnahmen
XSS ist in drei Kategorien unterteilt:
Reflected XSS (non-persistent) Wenn eine Anfrage gestellt wird, Der XSS-Code erscheint in der URL und wird als Eingabe an den Server übermittelt. Der XSS-Code wird zusammen mit dem Antwortinhalt an den Browser zurückgesendet. Dieser Prozess ähnelt einer Reflexion und wird daher als reflektierendes XSS bezeichnet.
Gespeichertes XSS (persistent) Der einzige Unterschied zwischen gespeichertem XSS und reflektiertem XSS besteht darin, dass der übermittelte Code auf der Serverseite (Datenbank, Speicher, Dateisystem usw.) gespeichert wird. wie folgt: Bei der ersten Anforderung der Zielseite muss kein XSS-Code übermittelt werden.
DOM XSS (Client) Der Unterschied zwischen DOM XSS, reflektiertem XSS und gespeichertem XSS besteht darin, dass der Code von DOM XSS nicht auf die Beteiligung des Servers angewiesen ist Das Parsen des DOM auf der Browserseite ist ausschließlich eine Client-Angelegenheit.
XSS-Verteidigungsmaßnahmen:
Fluchteingabe und -ausgabe filtern
Vermeiden Sie die Verwendung von Methoden wie eval und new Function zum Ausführen von Zeichenfolgen, es sei denn, Sie sind sicher, dass die Zeichenfolge nichts mit Benutzereingaben zu tun hat
Verwenden Sie das httpOnly-Attribut des Cookies und fügen Sie das hinzu Cookie-Feld mit diesem Attribut. js kann nicht gelesen und geschrieben werden
Wenn die Daten bei Verwendung von innerHTML und document.write vom Benutzer eingegeben werden, müssen die Objektschlüsselzeichen gefiltert werden entkommen
Empfohlenes Tutorial: Webserver-Sicherheit
Das obige ist der detaillierte Inhalt vonXSS-Klassifizierung und Abwehrmaßnahmen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!