Maison  >  Article  >  développement back-end  >  Comment empêcher XSS en PHP

Comment empêcher XSS en PHP

清浅
清浅original
2019-05-08 15:44:187869parcourir

Comment empêcher XSS en PHP : 1. Lorsque PHP génère du HTML, utilisez htmlentities(), RemoveXss(), HTMLPurifier.auto.php pour filtrer ; 2. Lors de la définition des cookies, ajoutez le paramètre HttpOnly ; Développement Lors de l'utilisation de l'API, vérifiez le paramètre Referer de la requête.

Comment empêcher XSS en PHP

php empêche xss

1 Si PHP génère directement du HTML, vous pouvez utiliser la méthode suivante. . Filtre :

fonction htmlspecialchars

fonction htmlentities

plugin HTMLPurifier.auto.php

fonction RemoveXss

2. Si PHP génère du code JS ou développe une API Json, le front-end doit être filtré dans JS :

Essayez d'utiliser innerText (IE) et textContent (Firefox), qui sont ceux de jQuery. text () pour afficher le contenu du texte

doit utiliser innerHTML et d'autres fonctions, vous devez effectuer un filtrage similaire aux htmlspecialchars de php

3. Autres défenses supplémentaires générales Moyens

Lors de la sortie HTML, ajoutez l'en-tête Http de la politique de sécurité du contenu

Fonction : il peut empêcher la page d'intégrer des fichiers de script tiers lorsqu'elle est attaquée par XSS

Défauts : Les navigateurs IE ou versions inférieures peuvent ne pas prendre en charge

2. Lors de la configuration des cookies, ajoutez le paramètre HttpOnly

Fonction : Il peut empêcher l'utilisation des informations sur les cookies lorsque la page est attaquée par XSS. Vol, compatible avec IE6

Défaut : le code JS du site Web lui-même ne peut pas gérer les cookies, et sa fonction est limitée, il ne peut assurer que la sécurité des cookies

Lors du développement de l'API, vérifiez le paramètre Referer de la requête

Fonction : Peut empêcher les attaques CSRF dans une certaine mesure

Défaut : Dans les navigateurs IE ou versions inférieures, le paramètre Referer peut être falsifié

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn