名前とバージョンを指定してファイルをダウンロードするPHPスクリプトを作成しています。ファイルは次のようにサーバー上に保存されます。名前が変更されたファイルをPHPでダウンロードする
/dl/Project1/1.0.txt
/dl/Project1/1.1.txt
/dl/Project2/2.3.jar
/dl/Project2/2.3.1.jar
そして、このようなファイルを取得するためのパスは次のようになります。実際にファイルをダウンロードするときに
download.php?name=Project1&type=txt&version=1.0
download.php?name=Project1&type=txt&version=1.1
download.php?name=Project2&type=jar&version=2.3
download.php?name=Project2&type=jar&version=2.3.1
問題が発生します。この例では、最初の2つのファイルをProject1.txtとしてダウンロードし、最後の2つをProject2.jarとしてダウンロードします。これを有効にするには、これらの名前を一時的に変更するにはどうすればよいですか?
あなたは正しいです、ユーザーがanyfileをダウンロードできるようにするバグがあります...私は今すぐ編集するつもりです。 –
が編集されました。私はいくつかの 'preg_replace'を追加して、場所で意味を持たない文字を置き換え、ファイルを取得する前に' preg_match'チェックを追加しました。 –
はい、あなたは今それを解決しました。一般的な解決策は、明らかに悪意を持っているので、何かにアクセスしようとしている人を拒否することです。 – kba