PHP は、Web 開発に広く使用されているサーバー側スクリプト言語です。最新の Web 開発では、開発者は多くの場合、大量のユーザー データを処理する必要があります。場合によっては、これらのユーザーが攻撃コード、広告、スパムなどの悪意のあるテキストを送信することがあります。
Web アプリケーションをこれらの悪意のあるテキストから保護するには、いくつかのキーワードをブロックできる必要があります。この記事では、PHP でキーワードをブロックする 2 つの方法を紹介します。
方法 1: PHP の組み込み関数を使用する
PHP には、文字列、正規表現、HTML などを処理するための組み込み関数があります。文字列処理関数の 1 つである str_replace()
関数は非常に便利です。この関数は、文字列内の部分文字列を検索し、別の文字列に置き換えます。
以下は、str_replace()
関数を使用して、ユーザーが送信した悪意のあるテキスト キーワードをブロックする例です。
<?php $bad_words = array('攻击', '广告', '垃圾邮件'); $text = '这是一段包含攻击、广告和垃圾邮件的文本。'; $filtered_text = str_replace($bad_words, '*', $text); echo $filtered_text; ?>
上記のコードでは、 を使用しました。 str_replace()
関数は、キーワードを含むテキストを # 文字に置き換えます。
方法 2: 正規表現を使用する
URL、HTML コード、JavaScript などのより複雑なテキスト形式をブロックする必要がある場合. では、PHP が提供する正規表現を使用できます。
以下は、正規表現を使用して悪意のある URL と一致する例です:
<?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; ?>
上記のコードでは、PHP の組み込み preg_replace()
関数と悪意のある URL を含むテキストと一致する正規表現。正規表現 /http:\/\/[a-z0-9.] [a-z]{2,}\/[a-z] /i
は http://## と一致します# の後に、a ~ z、0 ~ 9、
. のみを含むドメイン名が続き、その後に a ~ z パス名のみを含む URL が続きます。
概要
この記事では、PHP でキーワードをブロックする 2 つの方法を紹介しました。 1 つ目の方法は、PHP の組み込み文字列処理関数str_replace() を使用して、キーワードを含む文字列を検索して置換する方法です。 2 番目の方法は、正規表現を使用して、より複雑なテキスト形式と一致させることです。どの方法を使用しても、悪意のあるテキストを効果的にブロックできるため、Web アプリケーションを攻撃から保護できます。
以上がPHPでキーワードをブロックするにはどうすればよいですか? 2 つの方法の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。