2017-08-18 29 views
1

私の電話とコンピュータの間でファイルを転送するための簡単なHTML、JS、& PHPアプリケーションを作成しました。私は私の個人的なサーバでそれをホストしたいと思うが、私は悪意のあるインターネットブラウザがそれにアクセスし、有害なファイルをアップロードできることを心配している。パスワード保護されたファイルのアップロード

私はvarious ways of protecting file uploadsと読みました。これには、どのファイルがアップロードされているか、実行されているかの保護が含まれています。私は、どのユーザーがファイルをアップロードできるかを保護し、安全なファイルをアップロードしてそれらのユーザー(つまり私)を信頼したいと考えています。

HTMLアップロードフォームにパスワード入力を行い、PHPアップロードスクリプトで、ファイルアップロードを許可する前にパスワードが設定値と等しいことを確認します。

これは、パスワードが適切であれば、悪意のあるインターネットブラウザから安全に保護されていますか?適切なパスワードを提供することを迂回するための抜け穴に気を付ける必要がありますか?

+1

確かに、正しく検証する限り有効です。通常、これはあなたのシステムにユーザアカウントを持ち、それをログインユーザに限定することで解決されますが、これも解決策として実行されます。 – ceejayoz

答えて

1

短い回答:httpsと連携して、はい。

長い回答:httpsと何らかのタイプのユーザー認証を使用する方がよい場合があります。これはより優れたユーザーエクスペリエンスですが、ユースケースを考えると、これが必要であるかどうかはわかりません。 httpsとプレーンなパスワードフィールドがなければ、誰かがプレーンテキストのパスワード送信を盗聴する可能性があります。その後、ボットは残りの部分を把握するか、教えられるようになりました。

+1

AFAIKパスワードが間違っていても、アップロードされたファイルはあなたのサーバーに一時的に衝突します。ユーザー認証でもこれが解決され、フォームへのアクセスやボックスへのPOST要求の完了が妨げられます。 – swensor

+0

すべてのファイルが一時的にサーバーにヒットします。いい視点ね。一時的にサーバーに接続するだけで、これらのファイルを危険にさらすことはできますか?私は、ユーザーがファイルURLをアップロードした後にブラウズするときのように、実行されたときにのみ危険だったという印象を受けました。 – Ray

+1

あなたの '/ tmp'ディレクトリをクロールしてものを実行するようなスクリプトを作成するような、本当に愚かなことをしていない限り、それは正しいです。それでも考慮すれば、帯域幅の使用が発生します。 – ceejayoz

関連する問題