apikey schützen

  • Code
    request.open('GET', 'getdata.php');
                request.responseType = 'json';
                request.send();
                request.onload = function () {
                    var superHeroes = request.response;
                    populateHeader(superHeroes);
                    // showHeroes(superHeroes);
                }
  • Das ist ja jetzt mysteriös, dass es auf einmal funktioniert, ohne dass wir etwas wesentliches geändert haben. Aber OK.

    BTW finde ich deine Frage, den API-Key zu verbergen, berechtigt. Ich habe mich häufig gefragt, warum man eine API mit einem Key absichert, wenn jeder ihn im Browser aus dem Javascript ablesen kann.

  • BTW finde ich deine Frage, den API-Key zu verbergen, berechtigt. Ich habe mich häufig gefragt, warum man eine API mit einem Key absichert, wenn jeder ihn im Browser aus dem Javascript ablesen kann.

    Das stimmt.

    Aber bei den meisten Api-Keys ( nicht alle Schade ) wird ja auch der Host abgefragt.

    Zumindest bei den meisten.

    Zb die ganzen Google Apis laufen ja auch nur richtig wenn der Key und Host stimmt.


    Wenn dann einer versucht den Key zu nutzen funktioniert es halt nicht

  • Weiß nicht genau, wie deine Frage zu verstehen ist: Normaler Weise gibt es zu einer bestimmten API und URL einen Key. Möchtest Du mit getData.php mehrere verschiedene APIs abfragen? Das ginge, wenn Du die URL ohne Key als Parameter übergibst und dann im Skript den Key einsetzt. Oder nur eine ID als Parameter übergeben und anhand dessen aus einer Liste die URL einschl. Key holen - möglicher Weise die bessere Lösung. Einfacher wäre es aber, für jede API ein eigenes Skript zu schreiben.

  • OK, dann empfehle ich die zweite Variante. Als ID würde ich einen "sprechenden" String empfehlen, damit Du dir keine Nummern merken musst.

    Etwa "superHeroes" in deinem Beispiel. Könnte dann auf PHP-Seite so aussehen:

    Ungetestet. Die ID musst Du dann beim Aufruf des Skripts als GET-Parameter übergeben. Etwas komplizierter wird es, wenn Du neben dem Key noch andere Parameter übergeben musst.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!