2016-06-27 22 views
0

コードを実行せずに、これを安全に行う方法についていくつかのことを考えました。 ファイルシステムにアップロードするだけでコードを実行してから、誰かがダウンロードするまでそのままにしますか? これは潜在的な脅威ですか?PHPを使用してファイルシステムに保存されたPDFファイルを安全にアップロードしてダウンロードするには

私がしようとしているのは、ユーザーが自分のCVをpdfファイルにアップロードできるようにすることです。管理者はこのpdfファイルをダウンロードできます(サーバー上では表示されませんがダウンロードされます)。

私のサーバーで悪質なファイルが実行されないようにするにはどうすればよいですか?また、このフォルダをpublic_htmlフォルダの外に置くのは危険ですか?

答えて

0

これは、サーバーの設定方法によって異なります。これにより、PDFファイルを実行可能ファイルとして使用したり、悪意のある行為に使用される特定のアプリケーション/処理スクリプトで開くことができます。それ以外の場合は、ファイル名の長さの制限やそのファイルの読み取り操作の実行を避けるなどの簡単な指示に従わなければなりません。私が理解しているように、それらをアップロードして安全にするだけでよいです。私はpublic_htmlでそれらを保持し、一度正しく(あなたがファイルサイズ、拡張子などをチェックした)はいつでも好きなときにそれらを移動しました。

0

フォルダに.pdfをアップロードするリスクはほとんどありません。 フォルダーは644(chmod)でなければなりません。

:あなたがアップロードしたときに「public_htmlの」インサイドまたはoutsiteウェブサイト のインデックスへのリダイレクトとindex.phpのは...それが問題

ではありませんが、あなたは拡張子(PDFファイル)とタイプパントマイムを確認することができますfinfo_file(http://php.net/manual/en/function.finfo-file.php) と と

$extension = substr($file, -3);

+0

と、ファイルがちょうどそれらを実行する任意のPHPスクリプトなしでアップロードおよびダウンロードされている場合は、フォルダへのアクセスがどのようなものであるかは関係していますか?それとも、彼ら自身で実行することは可能でしょうか? – PhyCoMath

+0

ファイルに実行パーミッションがなく、誰もそれを呼び出せない場合、それらは実行できません... – Amazone