API-Sicherheitsimplementierung php

Lesezeit: 2 Minuten

Benutzer-Avatar
Z.B

Ich habe eine Website, auf der Benutzer ihre Statistiken überprüfen können (Anzahl der hochgeladenen Dateien, wie viele Dateien sie haben, Kontingente, Art des Zugriffs usw.).

Ich erstelle einen Abschnitt auf meiner Website: api.domain.com

Dies kann über Curl oder einen Webbrowser erfolgen, da ich ein JSON-Objekt oder XML zurückgebe (abhängig von den Benutzereinstellungen).

Meine Frage lautet: Soll ich den Zugriff mit einem Benutzer/Pass einschränken oder einen Hash der Benutzerdatei erstellen?

zum Beispiel:

Szenario 1:

Der Benutzer erstellt eine PHP-Curl, die den Benutzer sendet und per Post oder Curl-Authentifizierung weitergibt, und erhält die Ergebnisse zurück, analysiert sie usw.

Für mich ist das sicher, aber der Benutzer muss sein Skript pflegen, wenn er seinen Pass ändert

Szenario 2

Der Benutzer greift auf eine Datei zu wie: api.domain.com/j355HGssgf3HESAjh45jusf4325GSj5hbsHhdh5HGHFS3732he4548475wbe3447nSNe5XfgjhGJ und dann auf die Daten zugreifen

Dieses, nichts zu warten

Hier sind meine Gedanken dazu.

Wenn Sie eine nicht gefundene Seite oder eine Fehlermeldung (mit einem guten 200 OK-Status) zurückgeben, wenn eine Anfrage an Ihre Seite gestellt wird, kann dies Bots oder UN-vertrauenswürdigen Personen einen Hinweis darauf geben, was sie bekommen und immer wieder versuchen können und wieder …

Wenn Sie andererseits einen Zugriff verweigert senden, wie einen 401- oder besser einen 500-Fehlercode, um einen Serverfehler zu simulieren, können diese Bots oder UN-vertrauenswürdigen Personen für immer verschwinden.

Ich werde sagen, dass die Benutzer/Passwort-Methode in diesem Fall etwas sicherer ist.

Würden Sie darauf vertrauen, dass Sie einfach eine lange Zeichenfolge eingeben (wie Szenario 2), wenn Sie Ihre E-Mails abrufen? oder Ihre Bankverbindung?

Wenn ich es wäre, würde ich jedem Konto die Möglichkeit geben, einen eindeutigen API-Schlüssel zu erstellen.

api.domain.com/?key=<API.KEY>

Für mehr Sicherheitsmaßnahmen können Sie die Verbindung nur über die Post-Methode mit dem API-Schlüssel akzeptieren. Wenn Sie über get kontaktiert werden, zeigen Sie einen Fehler usw.

Wenn sie dann ihren Pass/Benutzernamen ändern, wirkt sich dies nicht auf ihren API-Schlüssel aus

  • Aber was ist, wenn jemand Ihren API-Schlüssel gestohlen hat? Ich suche einige Informationen zu diesem Argument, weil ich 2 Server habe und einige vernünftige Informationen per POST kommunizieren möchte. Aber ich verstehe nicht, ich kann eine API zum Abrufen der Informationen verwenden, aber wenn jemand den Anruf mitschnüffelt, kann er mit dem API-Schlüssel sensible Informationen abrufen

    – Kreker

    3. März 2014 um 9:20 Uhr

  • Wenn es sich um vertrauliche Informationen handelt, würde ich SSL verwenden und die Daten verschlüsseln, am anderen Ende entschlüsseln. Wenn Sie wissen, dass ein API-Schlüssel gestohlen wurde, generieren Sie einen neuen 🙂

    – Jason Brumwell

    4. März 2014 um 13:49 Uhr

1178920cookie-checkAPI-Sicherheitsimplementierung php

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy