Die Methode von ThinkPHP zur Verhinderung von XSS-Angriffen

angryTom
Freigeben: 2020-03-10 12:45:36
nach vorne
6158 Leute haben es durchsucht

Dieser Artikel stellt vor, wie man TP einrichtet, um XSS-Angriffe zu verhindern. Ich hoffe, dass er Freunden, die ThinkPHP lernen, hilfreich sein wird.

Die Methode von ThinkPHP zur Verhinderung von XSS-Angriffen

ThinkPHPs Methode zur Verhinderung von XSS-Angriffen

1 Wenn Ihr Projekt keinen Rich-Text-Editor hat, können Sie dies tun Verwenden Sie die globale Filtermethode, indem Sie htmlspecialchars

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

Die Methode von ThinkPHP zur Verhinderung von XSS-Angriffen

zur Konfigurationsdatei unter der Anwendung hinzufügen. Wenn Sie über einen Rich-Text-Editor verfügen, ist die Verwendung dieser Art nicht geeignet des Anti-XSS-Angriffs

(Empfohlenes Tutorial: thinkphp-Tutorial)

Dann verwenden Sie Composer, um das Plug-in zu installieren, um den

Befehl < zu verarbeiten 🎜>

composer require ezyang/htmlpurifier
Nach dem Login kopieren

Die Methode von ThinkPHP zur Verhinderung von XSS-Angriffen

Fügen Sie nach erfolgreicher Installation den folgenden Code in common.php unter der Anwendung hinzu, in der die öffentlichen Funktionen platziert sind


Die Methode von ThinkPHP zur Verhinderung von XSS-Angriffen

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

Ändern Sie diese Filtermethode in diesen Methodennamen

Die Methode von ThinkPHP zur Verhinderung von XSS-Angriffen

Sie können verwenden Dies geschieht durch die Kombination der Verwendung des Frameworks und der Verwendung von Plug-Ins. Der obige Code kann direkt verwendet werden

Sie können auch eine XSS-Überprüfung für ein bestimmtes Feld durchführen

1 Ändern Sie die Befehlsdatei und ändern Sie es in „default_filter“ => „htmlspecialchars“,

2 Dann, wenn Sie möchten, werden die geänderten Felder in

Die Methode von ThinkPHP zur Verhinderung von XSS-Angriffen

Related geändert Empfehlungen:


PHP-Video-Tutorial, Lernadresse:

https:// www.php.cn/course/list/29/type/2.html

Das obige ist der detaillierte Inhalt vonDie Methode von ThinkPHP zur Verhinderung von XSS-Angriffen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:zhihu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage