文字エンコーディングの検査には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 ( ‘ ) シングルクォートを指定する。
・第三引数は文字コードなので、環境に応じ変更する。