Maison  >  Article  >  cadre php  >  La méthode ThinkPHP pour prévenir les attaques XSS

La méthode ThinkPHP pour prévenir les attaques XSS

angryTom
angryTomavant
2020-03-10 12:45:366134parcourir

Cet article explique comment configurer TP pour empêcher les attaques XSS. J'espère qu'il sera utile aux amis qui apprennent ThinkPHP !

La méthode ThinkPHP pour prévenir les attaques XSS

Méthode de ThinkPHP pour empêcher les attaques XSS

1 Si votre projet ne dispose pas d'un éditeur de texte enrichi, vous pouvez utiliser La méthode de filtrage global consiste à ajouter htmlspecialchars

// 默认全局过滤方法 用逗号分隔多个
'default_filter' => 'htmlspecialchars',

La méthode ThinkPHP pour prévenir les attaques XSS

au fichier de configuration sous l'application. Si vous disposez d'un éditeur de texte enrichi, il n'est pas approprié d'utiliser ce type. d'attaque anti-XSS

(Tutoriel recommandé : tutoriel thinkphp)

Utilisez ensuite composer pour installer le plug-in pour gérer la commande

composer require ezyang/htmlpurifier

La méthode ThinkPHP pour prévenir les attaques XSS

Après une installation réussie, ajoutez le code suivant dans common.php sous l'application où sont placées les fonctions publiques

La méthode ThinkPHP pour prévenir les attaques XSS

if (!function_exists('remove_xss')) {
    //使用htmlpurifier防范xss攻击
    function remove_xss($string){
    //composer安装的,不需要此步骤。相对index.php入口文件,引入HTMLPurifier.auto.php核心文件
    // require_once './plugins/htmlpurifier/HTMLPurifier.auto.php';
    // 生成配置对象
    $cfg = HTMLPurifier_Config::createDefault();
    // 以下就是配置:
    $cfg -> set('Core.Encoding', 'UTF-8');
    // 设置允许使用的HTML标签
    $cfg -> set('HTML.Allowed','div,b,strong,i,em,a[href|title],ul,ol,li,br,p[style],span[style],img[width|height|alt|src]');
    // 设置允许出现的CSS样式属性
    $cfg -> set('CSS.AllowedProperties', 'font,font-size,font-weight,font-style,font-family,text-decoration,padding-left,color,background-color,text-align');
    // 设置a标签上是否允许使用target="_blank"
    $cfg -> set('HTML.TargetBlank', TRUE);
    // 使用配置生成过滤用的对象
    $obj = new HTMLPurifier($cfg);
    // 过滤字符串
    return $obj -> purify($string);
}

puis ajoutez le fichier de configuration config.php dans le répertoire de l'application

Changez cette méthode de filtrage par ce nom de méthode

La méthode ThinkPHP pour prévenir les attaques XSS

Vous pouvez utiliser ceci en combinant l'utilisation du framework et l'utilisation de plug-ins. Le code ci-dessus peut être utilisé directement

Vous pouvez également effectuer une vérification xss sur un certain champ

1 Modifier le fichier de commande. et remplacez-le par ceci 'default_filter' => 'htmlspecialchars',

2 Ensuite, quand vous le souhaitez, le champ modifié est modifié en

La méthode ThinkPHP pour prévenir les attaques XSS

Connexe recommandations :

Tutoriel vidéo PHP, adresse d'apprentissage : https://www.php.cn/course/list/29/type/2.html

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer