Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menyekat kata kunci dalam php? Analisis ringkas dua kaedah
PHP ialah bahasa skrip sebelah pelayan yang digunakan secara meluas untuk pembangunan web. Dalam pembangunan web moden, pembangun selalunya perlu berurusan dengan sejumlah besar data pengguna. Kadangkala, pengguna ini mungkin menyerahkan beberapa teks berniat jahat, seperti kod serangan, iklan, spam, dsb.
Untuk melindungi aplikasi web kami daripada teks berniat jahat ini, kami perlu dapat menyekat beberapa kata kunci. Artikel ini akan memperkenalkan dua cara untuk menyekat kata kunci dalam PHP.
Kaedah 1: Gunakan fungsi terbina dalam PHP
PHP mempunyai fungsi terbina dalam untuk memproses rentetan, ungkapan biasa, HTML, dsb. Salah satu fungsi pemprosesan rentetan sangat berguna, iaitu fungsi str_replace()
. Fungsi ini mencari subrentetan dalam rentetan dan menggantikannya dengan rentetan lain.
Berikut ialah contoh penggunaan fungsi str_replace()
untuk menyekat kata kunci teks berniat jahat yang diserahkan oleh pengguna:
<?php $bad_words = array('攻击', '广告', '垃圾邮件'); $text = '这是一段包含攻击、广告和垃圾邮件的文本。'; $filtered_text = str_replace($bad_words, '*', $text); echo $filtered_text; ?>
Dalam kod di atas, kami menggunakan fungsi str_replace()
untuk memasukkan Teks kata kunci digantikan dengan aksara *
.
Kaedah 2: Gunakan ungkapan biasa
Jika kita perlu menyekat format teks yang lebih kompleks, seperti URL, kod HTML, JavaScript, dsb. . , kita boleh menggunakan ungkapan biasa yang disediakan oleh PHP.
Berikut ialah contoh menggunakan ungkapan biasa untuk memadankan URL berniat jahat:
<?php $text = '这是一个包含恶意链接的文本,例如:http://www.example.com/attack?param=val'; $filtered_text = preg_replace('/http:\/\/[a-z0-9.]+[a-z]{2,}\/[a-z]+/i', '*', $text); echo $filtered_text; ?>
Dalam kod di atas, kami menggunakan fungsi preg_replace()
terbina dalam PHP dan ungkapan biasa kepada Matches teks yang mengandungi URL berniat jahat. Ungkapan biasa /http://[a-z0-9.]+[a-z]{2,}/[a-z]+/i
boleh memadankan URL bermula dengan http://
, diikuti dengan nama domain yang mengandungi hanya a-z, 0-9 dan .
, dan kemudian diikuti dengan URL yang mengandungi hanya nama laluan a-z.
Ringkasan
Dalam artikel ini, kami memperkenalkan dua cara untuk menyekat kata kunci dalam PHP. Kaedah pertama ialah menggunakan fungsi pemprosesan rentetan terbina dalam PHP str_replace()
untuk mencari dan menggantikan rentetan yang mengandungi kata kunci. Kaedah kedua ialah menggunakan ungkapan biasa untuk memadankan format teks yang lebih kompleks. Tidak kira kaedah yang digunakan, teks berniat jahat boleh disekat dengan berkesan, sekali gus melindungi aplikasi web kami daripada serangan.
Atas ialah kandungan terperinci Bagaimana untuk menyekat kata kunci dalam php? Analisis ringkas dua kaedah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!