Laravel5中防止XSS跨站攻击的方法
本文实例讲述了Laravel5中防止XSS跨站攻击的方法。分享给大家供大家参考,具体如下:
Laravel 5本身没有这个能力来防止xss跨站攻击了,但是这它可以使用Purifier 扩展包集成 HTMLPurifier 防止 XSS 跨站攻击。
1、安装
HTMLPurifier 是基于 PHP 编写的富文本 HTML 过滤器,通常我们可以使用它来防止 XSS 跨站攻击,更多关于 HTMLPurifier的详情请参考其官网:http://htmlpurifier.org/。Purifier 是在 Laravel 5 中集成 HTMLPurifier 的扩展包,我们可以通过 Composer 来安装这个扩展包:
composer require mews/purifier
安装完成后,在配置文件config/app.php的providers中注册HTMLPurifier服务提供者:
'providers' => [ // ... Mews\Purifier\PurifierServiceProvider::class, ] 然后在aliases中注册Purifier门面: 'aliases' => [ // ... 'Purifier' => Mews\Purifier\Facades\Purifier::class, ]
2、配置
要使用自定义的配置,发布配置文件到config目录:
php artisan vendor:publish
这样会在config目录下生成一个purifier.php文件:
return [ 'encoding' => 'UTF-8', 'finalize' => true, 'preload' => false, 'cachePath' => null, 'settings' => [ 'default' => [ 'HTML.Doctype' => 'XHTML 1.0 Strict', 'HTML.Allowed' => 'div,b,strong,i,em,a[href|title],ul,ol,li,p[style],br,span[style],img[width|height|alt|src]', 'CSS.AllowedProperties' => 'font,font-size,font-weight,font-style,font-family,text-decoration,padding-left,color,background-color,text-align', 'AutoFormat.AutoParagraph' => true, 'AutoFormat.RemoveEmpty' => true ], 'test' => [ 'Attr.EnableID' => true ], "youtube" => [ "HTML.SafeIframe" => 'true', "URI.SafeIframeRegexp" => "%^(http://|https://|//)(www.youtube.com/embed/|player.vimeo.com/video/)%", ], ], ];
3、使用示例
可以使用辅助函数clean:
clean(Input::get('inputname'));
或者使用Purifier门面提供的clean方法:
Purifier::clean(Input::get('inputname'));
还可以在应用中进行动态配置:
clean('This is my H1 title', 'titles'); clean('This is my H1 title', array('Attr.EnableID' => true));
或者你也可以使用Purifier门面提供的方法:
Purifier::clean('This is my H1 title', 'titles'); Purifier::clean('This is my H1 title', array('Attr.EnableID' => true));
php防止xss攻击
<?PHP function clean_xss(&$string, $low = False) { if (! is_array ( $string )) { $string = trim ( $string ); $string = strip_tags ( $string ); $string = htmlspecialchars ( $string ); if ($low) { return True; } $string = str_replace ( array ('"', "\\", "'", "/", "..", "../", "./", "//" ), '', $string ); $no = '/%0[0-8bcef]/'; $string = preg_replace ( $no, '', $string ); $no = '/%1[0-9a-f]/'; $string = preg_replace ( $no, '', $string ); $no = '/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/S'; $string = preg_replace ( $no, '', $string ); return True; } $keys = array_keys ( $string ); foreach ( $keys as $key ) { clean_xss ( $string [$key] ); } } //just a test $str = 'jb51.net<meta http-equiv="refresh" content="0;">'; clean_xss($str); //如果你把这个注释掉,你就知道xss攻击的厉害了 echo $str; ?>
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
更多Laravel5中防止XSS跨站攻击的方法相关文章请关注PHP中文网!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Protection contre les scripts intersites (XSS) et la falsification de requêtes intersites (CSRF) dans Laravel Avec le développement d'Internet, les problèmes de sécurité des réseaux sont devenus de plus en plus graves. Parmi eux, Cross-SiteScripting (XSS) et Cross-SiteRequestForgery (CSRF) sont l'une des méthodes d'attaque les plus courantes. Laravel, en tant que framework de développement PHP populaire, offre aux utilisateurs une variété de mécanismes de sécurité

Comment utiliser PHP pour se défendre contre les attaques de type cross-site scripting (XSS) et d'exécution de code à distance Introduction : Dans le monde Internet d'aujourd'hui, la sécurité est devenue un problème crucial. Les attaques XSS (cross-site scripting) et d'exécution de code à distance sont deux des vulnérabilités de sécurité les plus courantes. Cet article explorera comment utiliser le langage PHP pour se défendre contre ces deux attaques et fournira plusieurs méthodes et techniques pour protéger votre site Web contre ces attaques. 1. Comprendre les attaques XSS Les attaques XSS font référence aux attaquants qui obtiennent les informations personnelles des utilisateurs en injectant des scripts malveillants sur des sites Web.

Meilleures pratiques pour la sécurité du développement PHP et Vue.js : prévenir les attaques XSS Avec le développement rapide d'Internet, les problèmes de sécurité des réseaux deviennent de plus en plus importants. Parmi eux, XSS (cross-site scripting Attack) est un type d'attaque réseau très courant qui vise à exploiter les failles de sécurité du site Web pour injecter du code malveillant aux utilisateurs ou altérer le contenu des pages Web. Dans le développement PHP et Vue.js, il est très important d'adopter certaines bonnes pratiques de sécurité pour prévenir les attaques XSS. Cet article présentera certaines méthodes couramment utilisées pour empêcher les attaques XSS et fournira les codes correspondants.

PHP est un langage de programmation largement utilisé dans le développement de sites Web, mais lorsque vous utilisez PHP pour développer des sites Web, les problèmes de sécurité inquiètent souvent les gens. L’un d’eux est le Cross-SiteScripting (XSS), qui est une vulnérabilité courante en matière de sécurité réseau. Pour résoudre ce problème, PHP fournit des technologies de filtrage XSS sécurisées. Cet article présentera les principes et l'utilisation de la technologie de filtrage XSS sécurisé en PHP. Tout d’abord, nous devons comprendre ce qu’est une attaque XSS. Attaque XSS

1. Reflected XSS Reflected XSS signifie que l'application obtient des données non fiables via des requêtes Web et les transmet aux utilisateurs Web sans vérifier si les données contiennent du code malveillant. Le XSS réfléchi est généralement construit par l'attaquant avec des paramètres de code malveillant dans l'URL. Lorsque l'adresse URL est ouverte, les paramètres de code malveillant uniques sont analysés et exécutés par HTML. Il se caractérise par la non-persistance et oblige l'utilisateur à cliquer sur le fichier. lien avec des paramètres spécifiques. L'éditeur prend comme exemple le code source du langage JAVA pour analyser CWEID80:ImproperNeutralizationofScript-RelatedHTMLTagsinaWebPage(BasicXSS)2.

1 Introduction à l'environnement de test L'environnement de test est le module DVWA dans l'environnement OWASP 2 Description du test XSS est également appelé CSS (CrossSiteScript), une attaque de script intersite. Il s'agit d'un attaquant malveillant insérant du code HTML malveillant dans une page Web. Lorsqu'un utilisateur parcourt la page, le code HTML intégré dans le Web sera exécuté, atteignant ainsi l'objectif particulier d'attaquer l'utilisateur de manière malveillante, par exemple en obtenant son cookie. Accédez à des sites Web malveillants, effectuez des attaques et bien plus encore. Cette vulnérabilité permet à un attaquant de détourner la session d'un utilisateur authentifié. Après avoir détourné une session authentifiée, l’auteur du virus dispose de toutes les autorisations de cet utilisateur autorisé. 3. Étape de test : Saisissez le code du script javascript dans la zone de saisie : al

Ces dernières années, avec le développement rapide des technologies de l’information sur Internet, nos vies sont de plus en plus indissociables d’Internet. L’interaction entre le réseau et notre vie quotidienne est indissociable d’une grande quantité d’écriture, de transmission et de traitement de code. Et ces codes ont besoin de nous pour protéger leur sécurité, sinon des attaquants malveillants les utiliseront pour lancer diverses attaques. L'une de ces attaques est l'attaque XSS. Dans cet article, nous nous concentrerons sur les attaques XSS en PHP et donnerons les méthodes de défense correspondantes. 1. Présentation des attaques XSS Les attaques XSS, également appelées attaques de type cross-site scripting, sont généralement

PHP est un langage de programmation côté serveur couramment utilisé dans le développement d'applications Web. Cependant, en raison de sa popularité et de sa facilité d’utilisation, PHP est également devenu l’une des cibles des attaquants. L’une des attaques les plus courantes est le cross-site scripting, ou XSS en abrégé. Cet article vise à présenter les attaques XSS en PHP et les lignes directrices pour leur défense. 1. Définition de l'attaque XSS L'attaque par cross-site scripting (XSS) fait référence à un attaquant effectuant des opérations malveillantes sur le navigateur de l'utilisateur en « injectant » du code HTML ou Javascript malveillant.
