Ich stelle einige REST-Methoden auf einem Server für eine mobile App zur Verfügung.
Ich möchte vermeiden, dass Benutzer die Erstellung von HTTP-Methoden (über die mobile App) abhören und sie dann erneut an den Server senden können. Beispiel:
- Die mobile App sendet eine Anfrage
- Der Benutzer verwendet einen Proxy und kann überprüfen, was im Netzwerk vor sich geht
- Der Benutzer sieht und speichert die Anforderung, die das Mobiltelefon gerade gesendet hat
- => Jetzt möchte ich nicht, dass der Benutzer diese Anfrage manuell senden kann
Reicht es aus, den Server über HTTPS zu sichern?
HTTPS bedeutet einfach, dass die transportierten Daten verschlüsselt werden, sodass nur der Client und der Server sie entschlüsseln können (in einer idealen Welt, in der nicht über MITM-Angriffe usw. gesprochen wird).
Daher verhindert nichts im Protokoll, dass Wiederholungsangriffe stattfinden.
Sie müssen einen Mechanismus zur Vermeidung von Wiederholungsangriffen einbauen (z. B. ablaufende Token oder Token, die nach Abschluss des Vorgangs ungültig werden), um sicherzustellen, dass Ihre Anwendung nicht für Wiederholungsangriffe anfällig ist. Dieser Mechanismus kann mit normalem HTTP verwendet werden.
quelle