入力値の文字日が正山をチェックする一文字日検証

意図しない文字コードは、ときとしてデータを破壊し、脆弱性の原因となるととがあります。個別の項目をチ工ツクするに先立って、すべての入力値が意図した文字コードであることを確認しておきましょう。

$_SESSIONは「キ一=>値jで表される連想配列の一種です。よって、foreach命令の「$key => $value」構文ですべてのセッションデータを取り出せます。値($value)が配列の場合に、implode関数でまとめています。とれは、osキーの値が配列であるためです。配列のままでは、文字コードの判定ができませんので、ととで文字列に変換しているのです。配列であるかどうかは、is_array関数で判定できます。

文字コードをチェックしているのは、③の部分です。mb_check_encoding関数は、変数$valueの文字コードがmbstring.internal_encodingパラメータと一致しているかをチ工ツクし、その結果をTRUE/FALSEで返します。
ひとつエラーを検出したら、break命令でforeachルーブを抜け出しているのは、文字コード検証では「入力値全体の文字コードが正しいかどうか「を判定できれば」十分であるからです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です