2017-05-02 9 views
1

filereaderを使用してローカルファイルを読み取ることができるので、Webブラウザに表示することができます。それがイメージであれば。filereaderによって生成されたイメージは、ブラウザにキャッシュされていますか?

私の考えは、私が作ったAESファイル暗号化を使用して暗号化された画像を復号化し、単にブラウザに結果を表示し、代わりのAES file encryption

を使用して独自のサーバー上で稼働している復号化されたファイルを生成してダウンロードすることですステップ3のコードのマイナーチェンジではなく、ステップ4(ファイルのダウンロード)に行く代わりに、ファイルのbase64文字列を使用して新しいDOMオブジェクトとしてイメージを追加する$('body').prepend($('<img />').attr('id','secretimage').attr('src', decrypted));を使用してイメージを生成します。

暗号化を扱う場合は、セキュリティ上の問題があると思います。この画像には機密情報が含まれているか、契約になっているか、銀行口座の詳細か、その他の機密または秘密の内容である可能性があります。

ここに質問があります:jquerys .remove()機能を使用してDOMからこのイメージを削除することは十分安全ですか、それともブラウザのどこにでもありますか?または画像を保護し、プログラムで削除する他の方法はありますか?

あなたの考えをありがとう。

+0

私はタンクが必要なのか分かりません:Pまことに:安全なものは何ですか?間違いなくRAMには少なくとも間に合うかもしれません。メモリ内のオブジェクトが書き込みから保護されていない場合は、メモリを上書きすることをお勧めしますが、それでもメモリ管理によってコピーされているか、GPUメモリなどに保存されている可能性があります。しかし、ブラウザ自体に鍵をかける。一般的にはTLSだけを使うべきです。 –

答えて

0

ブラウザは、Base64形式の場合はイメージをキャッシュしません。

ユーザーが使用するブラウザのガベージコレクションとメモリ管理を制御できないため、Webアプリケーションを100%安全にすることはできません。 したがって、認証されたユーザーだけがリソースにアクセスできることと、ユーザーが再度認証する必要があるタイムアウトの期間が短いことを保証することができます。

もちろん、TLSを使用して、データがユーザーに届くまでに侵害されないようにしてください。

+0

これまでのところありがとうございます。つまり、base64形式のイメージをキャッシュしないでください。しかし、他の 'src =" http:// path/to/image "のようにsrc属性はリソース識別子として機能しませんか? – ddlab

+0

私が知る限り、base64文字列を含むjs/html/cssファイルがキャッシュされている場合にのみキャッシュされます。 – Echolot

関連する問題