2017-02-27 3 views
0

Ich habe Abfrageparameter in meiner URL und nach Erfolg? = Params Ich umadressieren weg von diesen Parametern, damit sie von der URL gelöscht werden, aber wenn ich zurückdrücke, geht es zurück zu denen params und dann, wenn ich Refresh aktualisiere, macht es etwas Illegales - es wiederholt die gleiche Transaktion, die gerade abgeschlossen wurde, und schiebt diese Änderung mit http.post und den gleichen Abfrageparametern an meine Datenbank. Dies drückt die gleiche Sache, die bereits in meine Datenbank-Array geschoben wurde und führt eine $ inc-Operation. Dies ist eine große Schwachstelle! Was ist der beste Weg, diese Sicherheitsanfälligkeit zu vermeiden?Angular 2 - Refresh mit Abfrageparameter bricht meine App

+0

Warum denken Sie, dass dies mit Angular verwandt ist? Sie müssen sicherstellen, dass Ihr Code keine Anforderungen stellt, die Sie nicht erfüllen möchten. –

+0

Ja, ich stimme zu. Ich bin auf der Suche nach der besten Methode, um diese Sicherheitslücke Server-Seite zu vermeiden. Wie überprüfe ich, ob dieselbe HTTP-Anfrage von demselben Client mit den gleichen Parametern bereits gemacht wurde und verhindert, dass sie erneut unter Verwendung der serverseitigen Logik mit expressjs-Server und einer eingehenden router.post-Methode ausgeführt wird? – seanEd

Antwort

1

Sie können niemals etwas trauen, das vom Client kommt, insbesondere die Abfragezeichenfolge. Sie müssen Prüfungen auf dem Server implementieren, um sicherzustellen, dass alle Transaktionen legal sind.

+0

Ja, ich stimme zu. Ich bin auf der Suche nach der besten Methode, um diese Sicherheitslücke Server-Seite zu vermeiden. Wie überprüfe ich, ob dieselbe HTTP-Anfrage von demselben Client mit den gleichen Parametern bereits gemacht wurde und verhindert, dass sie erneut unter Verwendung der serverseitigen Logik mit expressjs-Server und einer eingehenden router.post-Methode ausgeführt wird? – seanEd

+0

Sie können überprüfen, ob die Zeile bereits in Ihrer Datenbank vorhanden ist, es sei denn, Sie protokollieren Postanforderungen. – paqash