ホームページ  >  記事  >  バックエンド開発  >  PHPの特殊文字エスケープの詳しい説明

PHPの特殊文字エスケープの詳しい説明

WBOY
WBOYオリジナル
2016-07-25 08:52:021885ブラウズ
  1. $html = array( );
  2. $html['username'] = htmlentities($clean['username'], ent_quotes, 'utf-8');
  3. echo "< p>おかえりなさい、{$html['username']}。

    ";
  4. ?>
コードをコピー

ヒント htmlspecialchars() 関数は基本的に htmlentities() 関数と同じですが、パラメータ定義は htmlentities() のエスケープがより徹底されている点が異なります。 $html['username'] を介してユーザー名をクライアントに出力することで、特殊文字がブラウザーによって誤って解釈されないようにすることができます。ユーザー名に文字と数字のみが含まれている場合、実際にはエスケープは必要ありませんが、これは多層防御の原則を反映しています。出力をエスケープすることは非常に良い習慣であり、ソフトウェアのセキュリティを大幅に向上させることができます。

もう 1 つの一般的な出力先はデータベースです。可能であれば、SQL ステートメント内のデータは、PHP の組み込み関数を使用してエスケープする必要があります。

mysql データベース ユーザーにとって、最適なエスケープ関数は mysql_real_escape_string() です。 使用するデータベースに PHP の組み込みエスケープ関数がない場合、addslashes() が最後の選択肢になります。

mysql データベースの正しいエスケープ手法の例:

  1. $mysql = array( );
  2. $mysql['username'] = mysql_real_escape_string($clean['username']);
  3. $sql = "*
  4. プロフィールから
  5. を選択してくださいusername = '{$mysql['username']}'";
  6. $result = mysql_query($sql);
  7. ?>
コードをコピー

php フィルター パラメーター 特殊文字 アンチインジェクション 不正な特殊な文字列をフィルタリングするためのphpメソッド phpの例:特殊文字処理関数の例 超長いテキスト内の特殊文字を置換するためのphpコード



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。