0
ファイアベースデータベースにデータを送信することが可能かどうかを知りたかったのですが、これは検証にのみ使用され、保存されません。 たとえば、{"myauth": "abc123"}を送信すると、検証ルールはnewdata.child( "myauth")。equals( "abc123")とデータベースに保存されていないかどうかをチェックします。私は、そのノードにデータを送信するたびにFirebaseデータベース検証のためだけに情報を送信し、データベースに保存しないでください
{
"rules": {
".validate": "newData.child('myauth').val() === 'abc123'",
".read": true,
".write": true
}
}
ようなので、それが書き込まれる、検証は子MYAUTHをチェックすると、値が「ABC123」に等しい場合にのみ、その後の書き込み動作を進めるが、ではありませんmyauth変数をデータベースに保存します。データをデータベースに保存するのは簡単な回避策ですが、これは可能ですか?
これは、すべての書込み要求をプレースホルダとして使用するmyauth値を使用していますか?それは大規模なソリューションから見て過剰なものでしょうか?私はアンドロイドに取り組んでいます。 –
セキュリティルールはサーバー上でのみ実行されます。したがって、何を問わずデータを送信する必要があります。実際にデータベースに書き込むかどうかは、それに比べてかなり小さいです。最高のユーザーエクスペリエンスを実現するには:まず、無効な入力を防ぐ(たとえば、テキストフィールドの代わりにドロップダウンを使用する)ようにしてから、入力*をサーバーに送信する前に検証してから、サーバー側のルールに頼ってミスや不正なユーザー。セキュリティルールは、データの整合性/許可されたアクセスを保証するためのものであり、良好なユーザーエクスペリエンスを保証するものではありません。 –