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中文网!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Perlindungan penskripan silang tapak (XSS) dan pemalsuan permintaan merentas tapak (CSRF) dalam Laravel Dengan perkembangan Internet, isu keselamatan rangkaian menjadi semakin serius. Antaranya, Cross-SiteScripting (XSS) dan Cross-SiteRequestForgery (CSRF) adalah salah satu kaedah serangan yang paling biasa. Laravel, sebagai rangka kerja pembangunan PHP yang popular, menyediakan pengguna dengan pelbagai mekanisme keselamatan

Cara menggunakan PHP untuk mempertahankan diri daripada serangan skrip merentas tapak (XSS) dan pelaksanaan kod jauh Pengenalan: Dalam dunia Internet hari ini, keselamatan telah menjadi isu penting. XSS (skrip merentas tapak) dan serangan pelaksanaan kod jauh adalah dua daripada kelemahan keselamatan yang paling biasa. Artikel ini akan meneroka cara menggunakan bahasa PHP untuk mempertahankan daripada kedua-dua serangan ini dan menyediakan beberapa kaedah dan teknik untuk melindungi tapak web anda daripada serangan ini. 1. Fahami serangan XSS Serangan XSS merujuk kepada penyerang yang mendapatkan maklumat peribadi pengguna dengan menyuntik skrip berniat jahat pada tapak web.

PHP ialah bahasa pengaturcaraan yang digunakan secara meluas dalam pembangunan laman web, tetapi apabila menggunakan PHP untuk membangunkan tapak web, isu keselamatan sering menyebabkan orang ramai bimbang. Salah satunya ialah Cross-SiteScripting (XSS), yang merupakan kelemahan keselamatan rangkaian biasa. Untuk menyelesaikan masalah ini, PHP menyediakan beberapa teknologi penapisan XSS yang selamat. Artikel ini akan memperkenalkan prinsip dan penggunaan teknologi penapisan XSS selamat dalam PHP. Pertama, kita perlu memahami apa itu serangan XSS. Serangan XSS

Amalan Terbaik untuk Keselamatan Pembangunan PHP dan Vue.js: Mencegah Serangan XSS Dengan perkembangan pesat Internet, isu keselamatan rangkaian menjadi semakin penting. Antaranya, XSS (cross-site scripting attack) adalah jenis serangan rangkaian yang sangat biasa yang bertujuan untuk mengeksploitasi kelemahan keselamatan tapak web untuk menyuntik kod berniat jahat kepada pengguna atau mengganggu kandungan halaman web. Dalam pembangunan PHP dan Vue.js, adalah sangat penting untuk menggunakan beberapa amalan terbaik keselamatan untuk mencegah serangan XSS. Artikel ini akan memperkenalkan beberapa kaedah yang biasa digunakan untuk menghalang serangan XSS dan menyediakan kod yang sepadan.

1. Reflected XSS Reflected XSS bermaksud aplikasi memperoleh data yang tidak boleh dipercayai melalui permintaan Web dan menghantarnya kepada pengguna Web tanpa menyemak sama ada data tersebut mengandungi kod berniat jahat. XSS yang dicerminkan biasanya dibina oleh penyerang dengan parameter kod hasad dalam URL Apabila alamat URL dibuka, parameter kod hasad unik dihuraikan dan dilaksanakan oleh HTML pautan dengan parameter tertentu boleh menyebabkan. Editor mengambil kod sumber bahasa JAVA sebagai contoh untuk menganalisis CWEID80:ImproperNeutralizationofScript-RelatedHTMLTagsinaWebPage(BasicXSS)2.

1 Pengenalan persekitaran ujian Persekitaran ujian ialah modul DVWA dalam persekitaran OWASP 2 Penerangan ujian XSS juga dipanggil CSS (CrossSiteScript), serangan skrip merentas tapak. Ia merujuk kepada penyerang berniat jahat memasukkan kod HTML berniat jahat ke dalam halaman Web Apabila pengguna menyemak imbas halaman, kod HTML yang dibenamkan dalam Web akan dilaksanakan, dengan itu mencapai tujuan khas untuk menyerang pengguna secara berniat jahat, seperti mendapatkan kuki pengguna. . Navigasi ke tapak web berniat jahat, melakukan serangan dan banyak lagi. Kerentanan ini boleh dieksploitasi oleh penyerang untuk merampas sesi pengguna yang disahkan. Selepas merampas sesi yang disahkan, pemula virus mempunyai semua kebenaran pengguna yang dibenarkan itu. 3. Langkah ujian: Masukkan kod skrip javascript dalam kotak input: al

Dalam beberapa tahun kebelakangan ini, dengan perkembangan pesat teknologi maklumat Internet, kehidupan kita semakin tidak dapat dipisahkan daripada Internet. Interaksi antara rangkaian dan kehidupan seharian kita tidak dapat dipisahkan daripada sejumlah besar penulisan, penghantaran dan pemprosesan kod. Dan kod ini memerlukan kita untuk melindungi keselamatan mereka, jika tidak, penyerang berniat jahat akan menggunakannya untuk melancarkan pelbagai serangan. Salah satu daripada serangan ini ialah serangan XSS. Dalam artikel ini, kami akan menumpukan pada serangan XSS dalam PHP dan memberikan kaedah pertahanan yang sepadan. 1. Gambaran keseluruhan serangan XSS Serangan XSS, juga dikenali sebagai serangan skrip merentas tapak, biasanya

PHP ialah bahasa pengaturcaraan sisi pelayan yang biasa digunakan yang digunakan secara meluas dalam pembangunan aplikasi web. Namun, disebabkan populariti dan kemudahan penggunaannya, PHP juga menjadi salah satu sasaran penyerang. Salah satu serangan yang paling biasa ialah skrip merentas tapak, atau singkatannya XSS. Artikel ini bertujuan untuk memperkenalkan serangan XSS dalam PHP dan garis panduan pertahanannya. 1. Definisi serangan XSS Serangan skrip merentas tapak (XSS) merujuk kepada penyerang yang melakukan operasi berniat jahat pada penyemak imbas pengguna dengan "menyuntik" kod HTML atau Javascript berniat jahat.
