Ich teste die Sicherheit meiner Daten auf Firebase. Ich habe eine ganze Weile in letzter Zeit auf der Dokumentation und ich dachte, dass ich es verstanden, aber wenn so etwas wie dies auf dem Simulator zu tun Ich bin mit meinem Kopf kratzt links:Warum wird diese Firebase-Datenbankregel als wahr gewertet, wenn dies nicht der Fall ist?
Die Regel lautet:
"propiedades": {
".read": "auth != null",
".write": "auth != null",
".validate": "data.child('owner').val() === auth.token.sub"
}
und weder ist data.child('owner').val()
in diesem speziellen Fall "s0kf6RvEzmfGGjVq9q14GQ6s14H32"
nicht gleich "s0kf6RvEzmfGGjVq9q14GQ6s14H3"
sein (es gibt eine „2“ trailing) soll noch auth.token
ist === data.child('owner').val()
sein, aber speziell auth.token.sub
soll. Was zum Teufel geht hier vor?
Als Randbemerkung, geht die Operation durch, auch wenn die Strings gleich sind und auch wenn ich die Regel etwas wie folgt zu ändern:
"propiedades": {
".read": "auth != null",
".write": "auth != null",
"$id" : {
".validate": "data.child('owner').val() === auth.token.sub"
}
}
Die schwere Bearbeitung kommt von der Tatsache, dass ich bin Tests mit allen möglichen Kombinationen und alles läuft gegen meine Logik. Ich bin zu diesem Zeitpunkt sehr verwirrt.
Dank
Die Validierung auch übergeben, wenn ich die „fgdfg“ Kinder nahmen auch aus. Ich habe auch an mehreren Stellen mit 'data' und' newData' getestet. Wie auch immer, das hat den Trick gemacht, danke – Chisko