Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
パーフェクトPHP インクルード攻撃対応方法 ホワイトリスト方式によるインクルードファイルの制限
<?php
// nullバイトが含まれていた場合は処理終了
if (strpos($_GET['design'], "\0") !== false) {
exit();
}
// 「red.html」, 「blue.html」以外の読み込み指定があったら処理終了
$allow_files = array('red', 'blue');
if (in_array($_GET['design'], $allow_files, true) === false) {
exit();
}
// 指定されたファイルをインクルード
include '/var/www/html/design/' . $_GET['design'] . '.html';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment