サーバー間で通信している場合、SSL を使用して安全性を維持できます。クライアントとサーバーは、リクエストに関するデータ (つまり、ファイル名、基本認証クレデンシャルなど)を送信する前に、安全な接続を確立します。
クライアント側に存在するものに関しては、どれだけ安全になりたいかという問題です。すべてが JavaScript であるため、特に PouchDB の場合は、次の 2 つのいずれかで解決する必要があります。
メニューを表示したり非表示にしたりする派手なスイッチがある
このシナリオでは、すべての重要なメニューを備えたメイン画面があります。ユーザーが正しいパスワードを入力してその画面に移動するか、プログラムが「ユーザー名またはパスワードが正しくありません」と表示します。しかし、それはすべて JavaScript で書かれているので、システムについて十分な知識を持っている人なら誰でもMyApp.User.isLoggedIn = function() { return true; };
.
必要なものを暗号化する
クライアント側に機密データがある場合は、クライアントにパスワードを提供し、そのパスワードを使用して機密データを暗号化するよう依頼できます。ペイロードに応じて、パフォーマンスが過度に集中する場合とそうでない場合があります。この場合、独自のセッションを実装する必要がある可能性があるため、そのパスワードや機密データをメモリ内に保持することはありません。次に、Eve がしなければならないことは、JS コンソールに移動してconsole.log(MyApp.User.password);
. パスワードがハッシュ化およびソルト化されている (またはソルト化する必要がある) 場合でも、Eve はハッシュ関数とソルトにアクセスできる可能性があります。
幸運を!あなたが思いついたことを聞きたいです。