ユーザーがクライアント側モデル/コレクションにアクセス/変更することを防ぐにはどうすればよいですか?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. クライアント側でビジネスロジックをセキュリティに書き込む問題
- 2. Mongodb:クライアント側のユーザー認証セキュリティの問題
- 3. クライアント側のXMLHttpRequestの問題
- 4. Expressでクライアント側のアクセス可能なCookieを設定する
- 5. asp.net linkbuttonクライアント側の問題
- 6. ポスティングデータ - サーバー側とクライアント側の問題
- 7. 不可能なアクセス許可の問題
- 8. ffmpeg-asm.jsでクライアント側の.FLVから.MP4への変換は可能ですか?
- 9. AXIS Web svc。、.NETクライアント - WSセキュリティの問題
- 10. MQTTソケットWebクライアント接続セキュリティの問題
- 11. クライアント側からのポストバックを自動化することは可能ですか?
- 12. d3 - closureからアクセス可能なtickFormat + mutable変数の問題?
- 13. Meteorバックエンドコードは常にクライアント側で利用可能ですか?
- 14. クライアント側の人工知能の実用上の問題
- 15. IdentityServer3でクライアント側のモーダルログインが可能ですか?どの流れ?
- 16. asp.netコントロールでクライアント側のみの検証が可能ですか?
- 17. CXFクライアント許可の問題
- 18. AngularJs(クライアント側)の編集可能なPDF
- 19. クライアント側のiframeを追加するセキュリティ
- 20. SqlCipherオープンカーソルはセキュリティの問題ですか?
- 21. FIWARE - アプリケーションへの不正アクセスを可能にする一般的な許可を持つキーロックトークン(セキュリティ上の問題?)
- 22. Spring WEBセキュリティ:アクセス可能なURLのリスト
- 23. サーバー側からWebストレージにアクセスすることは可能ですか?
- 24. AngularJSクライアント側からのログアウト機能
- 25. クライアント側から画面をキャプチャしてサーバ側に保存することは可能ですか? (PHP)
- 26. クライアント側のセキュリティ上の懸念(JavaScript)
- 27. Unity3DからPHPへのセキュリティ問題
- 28. PHPでセキュリティ上の問題が発生する可能性があります
- 29. MeteorJSの接続遅延の問題
- 30. Office VSTOアドイン可能なアクセス許可の問題 - HRESULT 0x80004004(E_ABORT)
ようこそ!あなたの質問はあまりにも一般的です。これまでに何を試してみましたか? – vyegorov
ユーザーがクライアント側のオブジェクトにアクセスできないようにする方法はありません。\ – thomasloh
Meteor 0.5.0は、必要なものだけを行う 'allow'と' deny'を追加しました。 – debergalis