5

制限を超えた文字列を保存するようにユーザーを制限する方法は?

文字列の長さプロパティを使用してセキュリティ ルールで検証しようとすると、Invalid property access: target is not an objectが発生します。

4

2 に答える 2

3

ルールで使用できる構文については、こちらで詳しく説明しています。

残念ながら、現時点では文字列操作 (一致、長さなど) を実行することはできません。 以下のロブの回答を参照してください。この機能は現在利用可能です

少し前に同様の機能をリクエストしたので、これが少なくとも Firebase レーダーにあることはわかっています。

解決したいことの正確な詳細を説明すると、より具体的な答えが得られます。ここでは、いくつかの一般的なアイデアを紹介します。

特権アプリを使用する

特権アプリケーションで Firebase を監視し、文字列の検証が必要な特定のフィールドに値が書き込まれるたびに、手動でチェックし、無効な場合は削除します。

当然のことながら、クライアントの検証はすべての有効なユース ケースを処理します。したがって、これは悪意のある挿入を防ぐためにのみ必要です。

または、これを監査としてアプローチすることもできます。無効な文字列を確認するアドレスに電子メールで送信するだけです。クライアントは挿入前に文字列が有効であることを確認するため、バグや悪意のある動作を確認することになります。

書き込みを API に委任する

クライアントに特権データを書き込む代わりに、それを API に送信し、API にそのデータを書き込んでもらい、クライアントに対して読み取り専用にします。

ご心配なく

本当に長さを検証する必要がありますか? それが文字列かどうかを確認するだけで十分ですか? 誰かが文字列の内容を「ハッキング」することは本当に心配ですか? おそらくそうではありません。そうかもしれませんが、おそらくそうではありません。

また、それが懸念事項である場合、別の方法で解決できますか? サーバーが関与している場合は、上記のプロセスを使用してください。

于 2013-05-11T15:10:01.627 に答える