Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie erlaube ich nur den Zugriff auf meine MySQL-Datenbank von meiner iOS-App aus? (Verwendung von webapp als Gateway zu db)

Wie bereits erwähnt, gibt es keine 100 %ige Sicherheit. Aber es gibt mehrere Lösungen, die zusammengenommen große Sicherheit bieten.

HTTPS

Wie Sie betonen, ist dies ein wichtiger Teil, da es das Schnüffeln verhindert.

Sitzungen

Verwenden Sie Sitzungen und lassen Sie keine Anfrage ohne gültige Sitzung zu (außer der ersten, die die App authentifizieren muss).

Fingerabdruck

Überprüfen Sie den Benutzeragenten und legen Sie zusätzliche HTTP-Header fest, um einen eindeutigen Fingerabdruck für Ihre App zu erhalten. ( Immer noch konnte jemand schnüffeln, aber er musste curl oder ähnliches verwenden. )

Anfragen verschleiern

Erstellen Sie Ihre Abfragezeichenfolge und wenden Sie eine Hash-Funktion an. Der Server muss die umgekehrte Funktion implementieren. ?43adbf764Fz statt ?a=1&b=2

Verschlüsseln

Dies geht noch einen Schritt weiter. Verwenden Sie ein gemeinsames Geheimnis, um einen Hash zu berechnen. Auf dem Server dasselbe wiederholen. Dies ist bereits eine starke Sicherheit. Um zu brechen, muss man Ihre App zurückentwickeln.

Eindeutiges gemeinsames Geheimnis verwenden

Sie sagen, es ist eine App für iOS. Bei der Installation wird von iOS ein eindeutiges Token generiert. Lassen Sie Ihre App dieses Token bei Ihrem Server registrieren. Auf diese Weise haben Sie ein starkes gemeinsames Geheimnis, das für jede Installation einzigartig ist, und es gäbe keine Möglichkeit, Ihre Web-App zu hacken.