私は実際に流星を使って、特に角度2を使って私の最初のアプリを作成しています。それに基づいて、角度1と2の経験があります。私は懸念のいくつかのポイントをしました...流星 - それはどれくらい安全ですか?
は私のデータは、MongoDBのに保存されている...のはこのシナリオを想像してみましょう:
コレクション:今すぐクライアント
{
name : "Happy client",
password : "Something non encrypted",
fullCrediCardNumber : "0000 0000 0000 0000"
}
、私の流星クライアントフォルダに、I 「このstruncture VEの...
コレクションclients.ts(サーバーフォルダ)
export var Clients = new Mongo.Collection('clients');
コmponentのclient.ts(いないサーバーフォルダ)最後のための
import {Clients} from '../collections/clients.ts';
class MyClients {
clients: Array<Object>;
constructor(zone: NgZone) {
this.clients = Clients.find();
}
}
..and:htmlページをレンダリングするが、ちょうど顧客の名前を表示:これまで
<li *ngFor="#item of clients">
{{client.name}}
</li>
[OK]を。私の懸念事項は次のとおりです。角度1 & 2つのアプリケーションでは、コンポーネントまたはコントローラまたはディレクティブはサーバー側ではなくクライアント側で実行されます。
クライアントの名前を表示するためにHTMLを設定しました。しかし、それはああhtmlのレンダリング、おそらくいくつかのスキルを持つ非常に簡単にすべての自分のフィールドを表示する角度でHTMLレンダリングにいくつかのコードを注入することです。
また、コンソールに移動して、データベースコレクションからオブジェクト全体を表示するコマンドを入力するのも簡単です。
だから、私の質問です:この意味で安全な流星はいかにですか?私の懸念は正しいですか?流星は私のデータを保護し、コレクションの名前を保護する能力がありますか?私は、find()でそのような機密データを取得しないように指定することができますが、find()はサーバー側で実行されていない可能性があるので、即座に変更するのは簡単でしょうか?
とにかく...この意味での流星がいかに安全かどうかについての説明を感謝します。
ty!
これは大きなトピックです。このガイドの[security](http://guide.meteor.com/security.html)セクションを読むことをお勧めします。 –
一般的に言えば(非常に一般的に)、彼らは悪意を持っていても見えるだけのデータしか見ることができないように、アクセス権がないデータを送信すべきではありません。クライアントは安全ではありませんので、データを公開しないように信頼しないでください。 – ste2425
念頭に置いておきますが、クライアント側で実行されているclient.find()があります。 client.findのようなもの(私が望むフィールドのみ)...それは大丈夫ですが、find()コマンドはクライアント側で実行されるので、client.findのようなものを誰にでも簡単に実行できますデータ) - クライアント側から直接find()MongoDBコマンドを実行するのが非常に簡単です。私の理論が正しいかどうかを調べようとしています。 –