2

Meine Zielseite ist eine in Kürze erscheinende Seite mit Call to Action zum Abonnieren, die den Namen, die E-Mail-Adresse usw. des Benutzers annimmt. Der Benutzer muss für die Anmeldung nicht authentifiziert sein. Er kann jede beliebige Person sein, die diese Seite besucht. Ich finde die Regel sollte ".read" lauten: false, ".write": true. Aber Google warnt mich, dass "write: true" jedem erlaubt, in die Datenbank zu schreiben, auch wenn die App nicht verwendet wird.Firebase Realtime Database: Was ist die richtige Sicherheitsregel für eine Zielseite?

Ich fühle, dass dies nur natürlich ist, bis ich ein CAPTCHA oder etwas. Wie werden solche Probleme angegangen (Spam-Prävention im Abonnement oder kommende Seiten, die Formulare haben)?

Antwort

2

Was Sie tun können, um Missbrauch nur mithilfe von Sicherheitsregeln zu verhindern (es verhindert nicht alle Arten von Spam, dafür sollten Sie in Captchas und andere Lösungen gehen), könnten Sie E-Mail-Authentifizierung auf Firebase einrichten und E-Mail-Authentifizierung anfordern. Bestätigungsmail Gehen Sie unter Authentifizierung> Anmeldeverfahren> E-Mail aktivieren.

Wenn Sie die Benutzer-E-Mail und den Benutzernamen in Ihrer Datenbank speichern, können Sie einen Knoten "Benutzer" in Ihrer Datenbank erstellen und unter der Benutzer-ID speichern, die Firebase dem Benutzer zuweist.

example of user id assigned by Firebase (0TTUf ... ist die ID von Firebase zugewiesen)

Firebase ein Passwort anfordern wird, wie Sie Benutzer abonniert werden, müssen nicht und Sie müssen nur ihre E-Mail und Passwort halten Weisen Sie einfach allen Benutzern ein Pseudo-Passwort zu.

Es würde wie folgt aussehen:

enter image description here

Wie Sie nur E-Mail und Namen für sich selbst zu erfassen und die Sie nicht benötigen Benutzer authentifiziert werden, ich sehe nicht, warum Sie geben Benutzern Schreib- oder Leseberechtigungen. Tun Sie einfach die Logik in Ihrem Programm, um diese Daten zu speichern.

Dann Ihre Regeln würde wie folgt aussehen:

{ 
    "rules": { 
    ".read": false, 
    ".write": false 
    } 
} 

Kein Benutzer darf auf Ihre Datenbank lesen oder zu schreiben, wie Sie es selbst sind zu verwalten.

Fasst it up: Fordern Sie Namen und E-Mail, ein Kennwort vergeben, diese Daten zu Firebase in, speichern unter /Benutzer E-Mail und Name/User_id $

Unterzeichnung als neuer Benutzer senden
Verwandte Themen