Sicheres Senden von PHP Holen Sie sich Informationen von iOS

8

Also hier ist die Situation, ich habe eine iOS-App, die einen Teil hat, wo Benutzer Informationen in bestimmte Labels eingeben, und dann erstelle ich eine URL-Anfrage basierend auf den gegebenen Informationen und sende diese an mein PHP-Backend. Die URL folgt der folgenden Struktur:

%Vor%

Jetzt besteht das Problem mit dem oben Gesagten darin, dass jeder, der Zugriff auf die URL hat, die Datenbank leicht mit Spam, zu vielen Einreichungen usw. bombardieren kann. Es fühlt sich sehr unsicher an. Was sollte mein Ansatz sein, um diesen Prozess so sicher wie möglich zu machen?

Mein derzeitiges Wissenslevel mit PHP ist es, Aufgaben einfach durch Methoden zu erledigen, die "den Job erledigen" (egal wie sicher sie sind), aber jetzt fange ich an, dahin zu kommen, wo ich es brauche um Sicherheit, Sicherheit usw. im Auge zu behalten. Hilfreiche Ratschläge / Einblicke werden sehr geschätzt. Danke!

    
Vimzy 18.05.2015, 07:30
quelle

2 Antworten

3

Der beste Weg, dies zu sichern, besteht darin, Ihre serverseitigen Komponenten (d. h. den PHP-Teil) hinter einer OAuth2-Authentifizierungsschicht zu sperren. Ich empfehle persönlich diesen OAuth2-Server für diesen Zweck.

Der allgemeine Workflow wird wie folgt aussehen:

%Vor%

Diese Lösung ist dem Senden eines Hashs (z. B. MD5) der Daten überlegen, da dies nichts authentifiziert. Es behandelt auch das zugrunde liegende Problem, anstatt es zu verbergen (z. B. führt POST statt GET nichts zum Sichern Ihrer Kommunikation aus). OAuth2 bietet jedoch keine Vertraulichkeit . Ein Mann in der Mitte kann Ihre Anfragen immer noch sehen / magen.

Um Ihre Benutzer besser zu schützen, sollten Sie HTTPS (TLSv1.2 mit PFS ) verwenden ) auf Ihrer App. Ausschließlich. Sie haben nicht einmal einen Port 80-HTTP-Server, der mehr als nur auf Ihren HTTPS-Server umleitet. Senden Sie auch HSTS und HPKP Header, wenn iOS sie unterstützt.

Wenn Sie eine bessere Sicherheit als HTTPS + benötigen, schlägt OAuth2 vor, die Anwendersicherheit zu lernen , weil es detaillierter ist und komplizierte Lösungen werden nur Sinn machen, wenn Sie eine große Bandbreite an Wissen zu diesem Thema haben. (Abhängig von Ihrem Bedrohungsmodell , natürlich!)

Zum Beispiel ist die Abwehr eines Angreifers, der Ihre App reverse-engineering durchführt, um fest codierte API-Schlüssel wiederherzustellen, einfach nicht vorhanden, was Ihren Workflow verkompliziert und möglicherweise jeden Benutzer authentifizieren muss.

    
Scott Arciszewski 18.05.2015, 12:26
quelle
-2

Fügen Sie einen Benutzernamen / ein Passwort hinzu und geben Sie Ihren Parameter ein. Machen Sie Ihre eigene Kombination (Verschlüsseln wenn möglich) und überprüfen Sie sie immer zuerst, damit der Prozess minimiert wird.

Wenn die Anmeldeinformationen falsch sind, stoppen Sie den Vorgang.

    
John Maui Sanchez 18.05.2015 10:26
quelle

Tags und Links