Posts tagged ‘PHP’

文字エンコーディングの検査には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 ( ‘ ) シングルクォートを指定する。

・第三引数は文字コードなので、環境に応じ変更する。