
194
9
章 ファイルの操作
//
ページの色を午後は青、
//
午前は緑にする
if (date('H') >= 12) {
$page = str_replace('{color}', 'blue', $page);
} else {
$page = str_replace('{color}', 'green', $page);
}
//
以前に保存したセッション変数から
//
ユーザ名を取得する
$page = str_replace('{name}', $_SESSION['username'], $page);
$result = file_put_contents('page.html', $page);
// file_put_contents()
が
false
を返すか
-1
を返すかを調べる必要がある
if (($result === false) || ($result == -1)) {
print "Co
uldn't save HTML to page.html";
}
9.7
外部から提供されたファイル名の無害化
フォームでサブミットされたデータや URL は、表示するとき(クロスサイトスクリプティング
攻撃)や SQL クエリに入れたとき(SQL インジェクション攻撃)に問題を引き起こす可能性がある
のと同様に、ファイル名やファイル名の一部として使ったときにも問題が起こることがあります。
この問題には他の攻撃のような派手な名前はありませんが、同様に被害を与える可能性がありま
す。
問題の原因は同じです。それは特殊文字であり、 ...