Maison >Opération et maintenance >Sécurité >Classification XSS et mesures de défense
XSS est divisé en trois catégories :
XSS réfléchi (non persistant) Lorsqu'une demande est faite, le code XSS apparaît dans l'URL et est soumis au serveur en entrée. Le serveur analyse et répond. Le code XSS est renvoyé au navigateur avec le contenu de la réponse. Enfin, le navigateur analyse et exécute le code XSS. Ce processus est comme une réflexion, c'est pourquoi on l'appelle XSS réfléchissant.
XSS stocké (persistant) La seule différence entre le XSS stocké et le XSS réfléchi est que le code soumis sera stocké côté serveur (base de données, mémoire, système de fichiers, etc.), comme suit Il n'est pas nécessaire de soumettre du code XSS lors de la première demande de la page cible.
DOM XSS (client) La différence entre DOM XSS, XSS réfléchi et XSS stocké est que le code de DOM XSS ne nécessite pas la participation du serveur. Le déclenchement de XSS repose sur. le DOM côté navigateur est entièrement une affaire de client.
Mesures de défense XSS :
Filtrer l'entrée et la sortie d'évasion
Évitez d'utiliser des méthodes telles que eval et new Function pour exécuter des chaînes, sauf si vous êtes sûr que la chaîne n'a rien à voir avec la saisie de l'utilisateur
Utilisez l'attribut httpOnly du cookie et ajoutez le champ de cookie avec cet attribut. js ne peut pas être lu et écrit
Lors de l'utilisation de innerHTML et de document.write, si les données sont saisies par l'utilisateur, les caractères clés de l'objet doivent être filtrés et échappé
Tutoriel recommandé : Sécurité du serveur Web
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!