文字エンコーディングの検査にはmb_check_encoding関数を利用する。
書式:
bool mb_check_encoding( string $var, string $encoding)
$var → チェック対象の文字列
$string → 比較する文字エンコーディング(省略した場合は、PHPの内部文字エンコーディングとなる)
比較して一致したならば、Trueを返し、一致しない場合はFalseを返す。
ITエンジニアの雑記
文字エンコーディングの検査にはmb_check_encoding関数を利用する。
書式:
bool mb_check_encoding( string $var, string $encoding)
$var → チェック対象の文字列
$string → 比較する文字エンコーディング(省略した場合は、PHPの内部文字エンコーディングとなる)
比較して一致したならば、Trueを返し、一致しない場合はFalseを返す。
phpでファイルの更新時刻からの経過時間を表示する例。
<html> <head> <title>ファイルの更新時刻からの経過時間を表示する</title> </head> <body> <?php $fileName = "test.php"; setlocale(LC_TIME, "ja"); if (file_exists($fileName)) { $string1 = strtotime(date("Y/m/d H:i:s", filemtime($fileName))); echo "<p>最終更新時刻:".date("Y/m/d H:i:s", $string1); $string2 = strtotime(date("Y/m/d H:i:s")); echo "<p>現在の時刻:".date("Y/m/d H:i:s", $string2); $string = ($string2 - $string1) / 60; echo "<p>現在の時刻との差は".$string."分です"; } else { echo "ファイルが見つかりません"; } ?>
PHPのセキュリティ対策例
・Script Insertion(スクリプト挿入)
————————————————————
$string = htmlspecialchars($post_data, ENT_QUOTES, ‘UTF-8’);
————————————————————
・$post_data はブラウザ等で入力されたデータが格納されている。
・htmlspecialcharsの第二引数は指定しない場合は”(ダブルクォート)でエスケープされる。
ダブルクォートでは変数が展開されるため、ENT_QUOTES ( ‘ ) シングルクォートを指定する。
・第三引数は文字コードなので、環境に応じ変更する。