現在、以下のようなプログラムを書いています。
lang
1// GET引数でファイル名を指定 2$file_name = $_GET['file']; 3$file_path = "/home/hoge/public_html/secret/" . $file_name; 4 5// ファイルの存在を確認。 6if ( !file_exists($file_path) ) { 7 header('HTTP/1.1 404 Not Found'); 8} 9// ファイルの内容を表示 10echo file_get_contents($file_path);
このような書き方ならば、たとえばGET引数に
"../../../etc/passwd"
などを指定されても大丈夫ではないかと思うのですが・・・。
他にも何か対策すべきでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。