経由にしたことである。拡張子をチェックし、次にユニークなファイル名を生成し、ファイルを作成してクローズし、削除せずにファイルのパスを返す。よりアップロードされたファイルで返されたパスのファイルを上書きする。作成したファイルを消してしまうとファイル名の一意性が保障されなくなる。注意:このダウンロードスクリプトにはクロスサイト・スクリプティング脆弱性があります。basename($file));?>このスクリプトはクエリー文字列fileでファイル名を指定する。拡張子をチェックし、その後それぞれの拡張子に対応したContent-Typeを出力し、ファイル本体をreadfile()で出力する。ファイル名をbasename()に通しているのはディレクトリ・トラバーサル脆弱性対策である。脆弱性発生の原因にアップロードファイル名にスクリプトを示す拡張を指定できることがあったが、それに対する確実な対策は容易ではない。どの拡張子がスクリプトを示すのかは自明ではないためである。よって、脆弱性の対策としては上記に示したアップロードファイルを公開ディレクトリに保存しない方法を用いる。テクノポップのカリスマ。