ユーザーがクライアント側モデル/コレクションにアクセス/変更することを防ぐにはどうすればよいですか?Meteorjsモデル/コレクションはクライアント側からアクセス可能です。セキュリティの問題?
答えて
Mattが述べたように、回避策はもう必要ありません。しかし、標準として、自動公開パッケージを削除してシステムを保護する必要があります。 http://docs.meteor.com/#meteor_collection
有望!それを見ている。ありがとう! – thomasloh
この回避策はMeteor 0.5.0以降では必要ありません。 – debergalis
allow
およびdeny
を使用して、各クライアントが許可するデータベースの変更を定義します。ドキュメントから
:
クライアントは、挿入、更新、またはコレクションに削除を呼び出すと、コレクションの許可および拒否コールバックが書き込みを許可すべきかどうかを判断するために、サーバー上で呼ばれています。少なくとも1つの許可コールバックが書き込みを許可し、拒否コールバックが書き込みを拒否しない場合、書き込みは続行されます。
これらのチェックは、クライアントがイベントハンドラ内からupdateを呼び出すなどして、データベースに直接書き込みを試みた場合にのみ実行されます。サーバーコードは信頼されており、許可と拒否の制限を受けません。これには、Meteor.callで呼び出されるメソッドが含まれます。許可と拒否に頼るのではなく、独自のアクセスチェックが必要です。
好きなだけ何度でも呼び出すことができます。各呼び出しには、挿入、更新、削除の機能の組み合わせを含めることができます。操作が許可されるべきであると考えるならば、関数は真を返すべきです。それ以外の場合はfalseを返すか、まったく何も返さない(未定義)。その場合、Meteorはコレクションに関する他の許可ルールを検索し続けます。
さらに、読み取りを保護するために、 'Meteor.publish'関数の中で' this.userId'を使用するクエリを持つカーソルを返します。 '$ meteor remove autopublish insecure'を実行して、すべてのデータをクライアントに公開し、クライアントからのほとんどの変更を許可する初心者オプションを無効にすることも望みます。 –
今日学んだように、 'allow 'も使用しない限り、' deny'を使うことはできません。 「コレクションに許可ルールを設定しないと、コレクションへのすべてのクライアントの書き込みが拒否され、サーバー側のコードからコレクションに書き込むことが可能になります」とドキュメントに埋め込まれています。 –
- 1. Mongodb:クライアント側のユーザー認証セキュリティの問題
- 2. Expressでクライアント側のアクセス可能なCookieを設定する
- 3. クライアント側のXMLHttpRequestの問題
- 4. asp.net linkbuttonクライアント側の問題
- 5. ポスティングデータ - サーバー側とクライアント側の問題
- 6. ffmpeg-asm.jsでクライアント側の.FLVから.MP4への変換は可能ですか?
- 7. クライアント側からのポストバックを自動化することは可能ですか?
- 8. Meteorバックエンドコードは常にクライアント側で利用可能ですか?
- 9. AXIS Web svc。、.NETクライアント - WSセキュリティの問題
- 10. クライアント側のiframeを追加するセキュリティ
- 11. Spring WEBセキュリティ:アクセス可能なURLのリスト
- 12. サーバー側からWebストレージにアクセスすることは可能ですか?
- 13. CXFクライアント許可の問題
- 14. クライアント側から画面をキャプチャしてサーバ側に保存することは可能ですか? (PHP)
- 15. クライアント側のセキュリティ上の懸念(JavaScript)
- 16. SqlCipherオープンカーソルはセキュリティの問題ですか?
- 17. PHPでセキュリティ上の問題が発生する可能性があります
- 18. MeteorJS:テンプレートから電子メールを生成するサーバー側
- 19. Telerik RadGridクライアント側のアクセス
- 20. IIS7アクセス許可の問題
- 21. ページング/ソート可能な列のためのウェイ(クライアント側またはサーバー側)?
- 22. 問題:ASP.NETでクライアント側でフォームをリセットする
- 23. jQuery UIでのメモリリークMeteorJSでのドラッグ可能?
- 24. HTML_QuickFormを使用して、クライアント側とサーバー側でフォームの検証を行うことは可能ですか?
- 25. のRails 3:クライアント側でJSON形式の問題
- 26. クライアント側のJavascriptはStrutsフォームにアクセスできますか?
- 27. クライアント側のJavaScriptをサーバーから生成する際の主な問題は何ですか?
- 28. サーバー側からスクロール可能なレイジーローディングテーブル
- 29. クライアント側のセキュリティで保護されたURLを傍受する
- 30. OpenWhisk - socket.io - クライアントは可能ですか?
ようこそ!あなたの質問はあまりにも一般的です。これまでに何を試してみましたか? – vyegorov
ユーザーがクライアント側のオブジェクトにアクセスできないようにする方法はありません。\ – thomasloh
Meteor 0.5.0は、必要なものだけを行う 'allow'と' deny'を追加しました。 – debergalis