Heim php教程 PHP开发 Methoden zur Verhinderung standortübergreifender XSS-Angriffe in Laravel5

Methoden zur Verhinderung standortübergreifender XSS-Angriffe in Laravel5

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
Nach dem Login kopieren

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

'providers' => [
 // ...
 Mews\Purifier\PurifierServiceProvider::class,
]
然后在aliases中注册Purifier门面:
'aliases' => [
 // ...
 'Purifier' => Mews\Purifier\Facades\Purifier::class,
]
Nach dem Login kopieren

2、配置

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

php artisan vendor:publish
Nach dem Login kopieren

这样会在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/)%",
  ],
 ],
];
Nach dem Login kopieren

3、使用示例

可以使用辅助函数clean:

clean(Input::get('inputname'));
Nach dem Login kopieren

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

Purifier::clean(Input::get('inputname'));
Nach dem Login kopieren

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

clean('This is my H1 title', 'titles');
clean('This is my H1 title', array('Attr.EnableID' => true));
Nach dem Login kopieren

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

Purifier::clean('This is my H1 title', 'titles');
Purifier::clean('This is my H1 title', array('Attr.EnableID' => true));
Nach dem Login kopieren

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;
?>
Nach dem Login kopieren

   

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

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

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Schutz vor Cross-Site-Scripting (XSS) und Cross-Site-Request-Forgery (CSRF) in Laravel Schutz vor Cross-Site-Scripting (XSS) und Cross-Site-Request-Forgery (CSRF) in Laravel Aug 13, 2023 pm 04:43 PM

Schutz vor Cross-Site-Scripting (XSS) und Cross-Site-Request-Forgery (CSRF) in Laravel Mit der Entwicklung des Internets sind Netzwerksicherheitsprobleme immer ernster geworden. Unter ihnen gehören Cross-SiteScripting (XSS) und Cross-SiteRequestForgery (CSRF) zu den häufigsten Angriffsmethoden. Laravel bietet als beliebtes PHP-Entwicklungsframework Benutzern eine Vielzahl von Sicherheitsmechanismen

Wie man sich in PHP gegen XSS- und Remote-Codeausführungsangriffe verteidigt Wie man sich in PHP gegen XSS- und Remote-Codeausführungsangriffe verteidigt Jun 30, 2023 am 08:04 AM

So schützen Sie sich mit PHP gegen Cross-Site-Scripting (XSS) und Remote-Codeausführungsangriffe. Einführung: In der heutigen Internetwelt ist Sicherheit zu einem wichtigen Thema geworden. XSS-Angriffe (Cross-Site-Scripting) und Remotecodeausführungsangriffe sind zwei der häufigsten Sicherheitslücken. In diesem Artikel wird untersucht, wie Sie die PHP-Sprache zur Abwehr dieser beiden Angriffe einsetzen können, und es werden verschiedene Methoden und Techniken vorgestellt, mit denen Sie Ihre Website vor diesen Angriffen schützen können. 1. XSS-Angriffe verstehen XSS-Angriffe beziehen sich auf Angreifer, die an die persönlichen Daten von Benutzern gelangen, indem sie bösartige Skripte in Websites einschleusen.

Analyse der sicheren XSS-Filtertechnologie in PHP Analyse der sicheren XSS-Filtertechnologie in PHP Jun 29, 2023 am 09:49 AM

PHP ist eine Programmiersprache, die in der Website-Entwicklung weit verbreitet ist. Bei der Verwendung von PHP zur Entwicklung von Websites bereiten Sicherheitsprobleme jedoch häufig Anlass zur Sorge. Eine davon ist Cross-SiteScripting (XSS), eine häufige Sicherheitslücke im Netzwerk. Um dieses Problem zu lösen, bietet PHP einige sichere XSS-Filtertechnologien. In diesem Artikel werden die Prinzipien und die Verwendung der sicheren XSS-Filtertechnologie in PHP vorgestellt. Zunächst müssen wir verstehen, was ein XSS-Angriff ist. XSS-Angriff

Best Practices für die Sicherheit für die PHP- und Vue.js-Entwicklung: XSS-Angriffe verhindern Best Practices für die Sicherheit für die PHP- und Vue.js-Entwicklung: XSS-Angriffe verhindern Jul 06, 2023 pm 01:37 PM

Best Practices für PHP- und Vue.js-Entwicklungssicherheit: XSS-Angriffe verhindern Mit der rasanten Entwicklung des Internets werden Netzwerksicherheitsfragen immer wichtiger. Unter diesen ist XSS (Cross-Site-Scripting-Angriff) eine sehr verbreitete Art von Netzwerkangriff, der darauf abzielt, Sicherheitslücken in der Website auszunutzen, um Benutzern bösartigen Code einzuschleusen oder den Inhalt der Webseite zu manipulieren. Bei der PHP- und Vue.js-Entwicklung ist es sehr wichtig, einige bewährte Sicherheitsmethoden zu übernehmen, um XSS-Angriffe zu verhindern. In diesem Artikel werden einige häufig verwendete Methoden zur Verhinderung von XSS-Angriffen vorgestellt und entsprechende Codes bereitgestellt.

So analysieren Sie reflektiertes XSS So analysieren Sie reflektiertes XSS May 13, 2023 pm 08:13 PM

1. Reflected XSS Reflected XSS bedeutet, dass die Anwendung über Webanfragen nicht vertrauenswürdige Daten erhält und diese an Webbenutzer übermittelt, ohne zu prüfen, ob die Daten schädlichen Code enthalten. Reflektiertes XSS wird im Allgemeinen vom Angreifer mit Schadcode-Parametern in der URL erstellt. Beim Öffnen der URL-Adresse werden die eindeutigen Schadcode-Parameter von HTML analysiert und ausgeführt. Es zeichnet sich durch Nichtpersistenz aus und erfordert, dass der Benutzer darauf klickt Verknüpfung mit bestimmten Parametern verursachen kann. Der Editor verwendet den Quellcode der JAVA-Sprache als Beispiel, um CWEID80:ImproperNeutralizationofScript-RelatedHTMLTagsinaWebPage(BasicXSS)2 zu analysieren.

So analysieren Sie reflektiertes XSS So analysieren Sie reflektiertes XSS Jun 03, 2023 pm 12:09 PM

1 Einführung in die Testumgebung Die Testumgebung ist das DVWA-Modul in der OWASP-Umgebung 2 Testbeschreibung XSS wird auch CSS (CrossSiteScript) genannt, ein Cross-Site-Scripting-Angriff. Es bezieht sich auf einen böswilligen Angreifer, der böswilligen HTML-Code in eine Webseite einfügt. Wenn ein Benutzer die Seite durchsucht, wird der im Web eingebettete HTML-Code ausgeführt, wodurch der besondere Zweck eines böswilligen Angriffs auf den Benutzer erreicht wird, beispielsweise der Erhalt des Cookies des Benutzers . Navigieren Sie zu bösartigen Websites, übertragen Sie Angriffe und mehr. Diese Sicherheitslücke ermöglicht es einem Angreifer, die Sitzung eines authentifizierten Benutzers zu kapern. Nach der Übernahme einer authentifizierten Sitzung verfügt der Virusersteller über alle Berechtigungen dieses autorisierten Benutzers. 3. Testschritt: Geben Sie den Javascript-Skriptcode in das Eingabefeld ein: al

XSS-Angriffe in PHP XSS-Angriffe in PHP May 23, 2023 am 09:10 AM

In den letzten Jahren ist unser Leben mit der rasanten Entwicklung der Internet-Informationstechnologie zunehmend untrennbar mit dem Internet verbunden. Die Interaktion zwischen dem Netzwerk und unserem täglichen Leben ist untrennbar mit einer großen Menge an Code-Schreiben, -Übertragung und -Verarbeitung verbunden. Und diese Codes brauchen uns, um ihre Sicherheit zu schützen, sonst werden sie von böswilligen Angreifern für verschiedene Angriffe genutzt. Einer dieser Angriffe ist der XSS-Angriff. In diesem Artikel konzentrieren wir uns auf XSS-Angriffe in PHP und geben entsprechende Abwehrmethoden an. 1. Überblick über XSS-Angriffe XSS-Angriffe, auch bekannt als Cross-Site-Scripting-Angriffe, sind in der Regel

Eine Anleitung zum XSS-Angriff und zur XSS-Verteidigung in PHP Eine Anleitung zum XSS-Angriff und zur XSS-Verteidigung in PHP May 22, 2023 pm 12:51 PM

PHP ist eine häufig verwendete serverseitige Programmiersprache, die häufig bei der Entwicklung von Webanwendungen eingesetzt wird. Aufgrund seiner Beliebtheit und Benutzerfreundlichkeit ist PHP jedoch auch zu einem Ziel von Angreifern geworden. Einer der häufigsten Angriffe ist Cross-Site-Scripting, kurz XSS. Ziel dieses Artikels ist es, XSS-Angriffe in PHP und Richtlinien zu deren Abwehr vorzustellen. 1. Definition eines XSS-Angriffs Ein Cross-Site-Scripting-Angriff (XSS) bezieht sich auf einen Angreifer, der bösartige Operationen im Browser des Benutzers ausführt, indem er bösartigen HTML- oder Javascript-Code „einschleust“.

See all articles