Maison php教程 PHP开发 Laravel5中防止XSS跨站攻击的方法

Laravel5中防止XSS跨站攻击的方法

Dec 20, 2016 pm 03:54 PM
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
Copier après la connexion

安装完成后,在配置文件config/app.php的providers中注册HTMLPurifier服务提供者:

'providers' => [
 // ...
 Mews\Purifier\PurifierServiceProvider::class,
]
然后在aliases中注册Purifier门面:
'aliases' => [
 // ...
 'Purifier' => Mews\Purifier\Facades\Purifier::class,
]
Copier après la connexion

2、配置

要使用自定义的配置,发布配置文件到config目录:

php artisan vendor:publish
Copier après la connexion

这样会在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/)%",
  ],
 ],
];
Copier après la connexion

3、使用示例

可以使用辅助函数clean:

clean(Input::get('inputname'));
Copier après la connexion

或者使用Purifier门面提供的clean方法:

Purifier::clean(Input::get('inputname'));
Copier après la connexion

还可以在应用中进行动态配置:

clean('This is my H1 title', 'titles');
clean('This is my H1 title', array('Attr.EnableID' => true));
Copier après la connexion

或者你也可以使用Purifier门面提供的方法:

Purifier::clean('This is my H1 title', 'titles');
Purifier::clean('This is my H1 title', array('Attr.EnableID' => true));
Copier après la connexion

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 (&#39;"&#39;, "\\", "&#39;", "/", "..", "../", "./", "//" ), &#39;&#39;, $string );
 $no = &#39;/%0[0-8bcef]/&#39;;
 $string = preg_replace ( $no, &#39;&#39;, $string );
 $no = &#39;/%1[0-9a-f]/&#39;;
 $string = preg_replace ( $no, &#39;&#39;, $string );
 $no = &#39;/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/S&#39;;
 $string = preg_replace ( $no, &#39;&#39;, $string );
 return True;
 }
 $keys = array_keys ( $string );
 foreach ( $keys as $key )
 {
 clean_xss ( $string [$key] );
 }
}
//just a test
$str = &#39;jb51.net<meta http-equiv="refresh" content="0;">&#39;;
clean_xss($str); //如果你把这个注释掉,你就知道xss攻击的厉害了
echo $str;
?>
Copier après la connexion

   

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

更多Laravel5中防止XSS跨站攻击的方法相关文章请关注PHP中文网!

Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

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 Protection contre les scripts intersites (XSS) et la falsification de requêtes intersites (CSRF) dans Laravel Aug 13, 2023 pm 04:43 PM

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 se défendre contre les attaques XSS et d'exécution de code à distance en PHP Comment se défendre contre les attaques XSS et d'exécution de code à distance en PHP Jun 30, 2023 am 08:04 AM

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 de sécurité pour le développement PHP et Vue.js : prévenir les attaques XSS Meilleures pratiques de sécurité pour le développement PHP et Vue.js : prévenir les attaques XSS Jul 06, 2023 pm 01:37 PM

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.

Analyse de la technologie de filtrage XSS sécurisé en PHP Analyse de la technologie de filtrage XSS sécurisé en PHP Jun 29, 2023 am 09:49 AM

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

Comment analyser le XSS réfléchi Comment analyser le XSS réfléchi May 13, 2023 pm 08:13 PM

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.

Comment analyser le XSS réfléchi Comment analyser le XSS réfléchi Jun 03, 2023 pm 12:09 PM

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

Attaques XSS en PHP Attaques XSS en PHP May 23, 2023 am 09:10 AM

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

Un guide d'attaque et de défense XSS en PHP Un guide d'attaque et de défense XSS en PHP May 22, 2023 pm 12:51 PM

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.

See all articles