Rumah 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
Salin selepas log masuk

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

'providers' => [
 // ...
 Mews\Purifier\PurifierServiceProvider::class,
]
然后在aliases中注册Purifier门面:
'aliases' => [
 // ...
 'Purifier' => Mews\Purifier\Facades\Purifier::class,
]
Salin selepas log masuk

2、配置

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

php artisan vendor:publish
Salin selepas log masuk

这样会在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/)%",
  ],
 ],
];
Salin selepas log masuk

3、使用示例

可以使用辅助函数clean:

clean(Input::get('inputname'));
Salin selepas log masuk

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

Purifier::clean(Input::get('inputname'));
Salin selepas log masuk

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

clean('This is my H1 title', 'titles');
clean('This is my H1 title', array('Attr.EnableID' => true));
Salin selepas log masuk

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

Purifier::clean('This is my H1 title', 'titles');
Purifier::clean('This is my H1 title', array('Attr.EnableID' => true));
Salin selepas log masuk

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;
?>
Salin selepas log masuk

   

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

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

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Perlindungan skrip silang tapak (XSS) dan pemalsuan permintaan silang tapak (CSRF) dalam Laravel Perlindungan skrip silang tapak (XSS) dan pemalsuan permintaan silang tapak (CSRF) dalam Laravel Aug 13, 2023 pm 04:43 PM

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

Bagaimana untuk mempertahankan daripada serangan XSS dan pelaksanaan kod jauh dalam PHP Bagaimana untuk mempertahankan daripada serangan XSS dan pelaksanaan kod jauh dalam PHP Jun 30, 2023 am 08:04 AM

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.

Analisis teknologi penapisan XSS selamat dalam PHP Analisis teknologi penapisan XSS selamat dalam PHP Jun 29, 2023 am 09:49 AM

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 Keselamatan untuk PHP dan Pembangunan Vue.js: Mencegah Serangan XSS Amalan Terbaik Keselamatan untuk PHP dan Pembangunan Vue.js: Mencegah Serangan XSS Jul 06, 2023 pm 01:37 PM

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.

Bagaimana untuk menganalisis XSS yang dipantulkan Bagaimana untuk menganalisis XSS yang dipantulkan May 13, 2023 pm 08:13 PM

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.

Bagaimana untuk menganalisis XSS yang dipantulkan Bagaimana untuk menganalisis XSS yang dipantulkan Jun 03, 2023 pm 12:09 PM

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

Serangan XSS dalam PHP Serangan XSS dalam PHP May 23, 2023 am 09:10 AM

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

Panduan Serangan dan Pertahanan XSS dalam PHP Panduan Serangan dan Pertahanan XSS dalam PHP May 22, 2023 pm 12:51 PM

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.

See all articles