Laravel ialah rangka kerja web PHP popular yang menyediakan banyak ciri berguna untuk membantu anda membina aplikasi web dengan mudah. Anda mungkin perasan bahawa apabila menggunakan input mentah dalam Laravel, tag HTML juga disertakan. Masalah ini boleh diselesaikan dengan menggunakan beberapa kaedah yang disediakan oleh Laravel, yang artikel ini akan meneroka.
Dalam pembangunan web, keselamatan selalunya menjadi isu penting. Pengguna berniat jahat boleh menyerang aplikasi web anda dengan menyerahkan borang HTML yang mengandungi skrip atau kod berniat jahat. Untuk mengelakkan serangan ini, anda boleh meningkatkan keselamatan aplikasi web anda dengan menanggalkan tag HTML daripada input pengguna.
Selain sebab keselamatan, mengalih keluar teg HTML juga membantu menghalang teg HTML yang tidak diperlukan daripada dipaparkan dalam teks dan mengurangkan penggunaan ruang pangkalan data.
Laravel menyediakan fungsi strip_tags terbina dalam, yang boleh digunakan untuk mengalih keluar tag HTML daripada rentetan input. Berikut ialah contoh kod menggunakan fungsi ini:
$input = '<p>这是一个带有HTML标记的文本字符串。</p>'; $output = strip_tags($input);
Dalam contoh ini, pembolehubah $input mengandungi rentetan HTML dan pembolehubah $output mengandungi rentetan teks selepas mengalih keluar teg HTML.
Fungsi strip_tags juga mempunyai beberapa parameter pilihan yang boleh anda gunakan untuk menentukan teg yang anda mahu simpan. Secara lalai, fungsi ini mengalih keluar semua penanda. Berikut ialah contoh, mengekalkan atribut href bagi teg a:
$input = '<p>这只是一个 <a href="http://example.com">链接</a>。</p>'; $output = strip_tags($input, '<a>');
Ini hanya akan mengekalkan teg a dan mengalih keluar teg lain itu.
Selain fungsi strip_tags, Laravel juga menyediakan satu lagi kaedah berkuasa untuk mengalih keluar tag HTML. Kaedah ini menggunakan perpustakaan PHP yang dipanggil Purifier, yang menyediakan ciri yang lebih maju seperti menapis teg dan atribut yang tidak selamat, menapis serangan XSS, dsb.
Untuk menggunakan pakej Purifier, anda perlu memasangnya melalui Composer. Buka terminal dan laksanakan arahan berikut:
composer require ezyang/htmlpurifier
Setelah pemasangan selesai, anda perlu mencipta contoh Purifier menggunakan arahan berikut:
use \HTMLPurifier; $config = \HTMLPurifier_Config::createDefault(); $purifier = new \HTMLPurifier($config);
Kini anda boleh menggunakan memurnikan kaedah untuk menapis tag HTML. Berikut ialah contoh:
$input = '<p>这是一个带有HTML标记的文本字符串。</p>'; $output = $purifier->purify($input);
Ini akan menggunakan pakej Purifier untuk mengalih keluar teg HTML daripada rentetan input dan menyimpan hasilnya ke dalam pembolehubah $output.
Sangat mudah untuk mengalih keluar tag HTML dalam Laravel. Anda boleh menggunakan fungsi strip_tags terbina dalam serta Purifier perpustakaan pihak ketiga untuk mencapai matlamat ini. Tidak kira kaedah yang anda pilih, anda harus memberi perhatian kepada isu keselamatan untuk memastikan aplikasi web anda selamat daripada serangan berniat jahat.
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar tag html dalam laravel (dua kaedah). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!