Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Api

  1. #11
    Administrator
    verifizierter OTR Benutzer
    Avatar von OTR.DG
    Registriert seit
    Mar 2007
    Beiträge
    3.920

    Standard AW: Api

    Wenn du unbedingt den PHP-Code weitergeben willst, dann nimm die raus und sage den Usern, das sie sich selber um eine Id kümmern sollen.

    Sonst muss ja nur einer Schabernack treiben, wir sperren die Id und dann haben du und alle anderen ein Problem

    Jeder der das einsetzt, soll/muss sich eben einen eigenen API-Zugang besorgen.

  2. #12
    verifizierter OTR Benutzer
    Registriert seit
    Mar 2008
    Beiträge
    43

    Standard AW: Api

    Hallo zusammen,

    schön, dass dieses Problem mal nach oben kommt. Mir geht es genauso wie renne: Ich habe ein Perl-Skript, welches die OTR-API verwendet. Leider kann ich es nicht veröffentlichen, da damit die Formel zur Prüfsummenberechnung öffentlich wird.

    Zitat Zitat von OTR.DG Beitrag anzeigen
    Wenn du unbedingt den PHP-Code weitergeben willst, dann nimm die raus und sage den Usern, das sie sich selber um eine Id kümmern sollen.
    Sonst muss ja nur einer Schabernack treiben, wir sperren die Id und dann haben du und alle anderen ein Problem
    Jeder der das einsetzt, soll/muss sich eben einen eigenen API-Zugang besorgen.
    Das löst das Problem leider nicht, denn laut den Richtlinien zur API-Verwendung (http://www.onlinetvrecorder.com/downloader/api) soll jedes Programm, welches die API verwendet seine Programm-ID sichtbar machen:

    Zitat Zitat von http://www.onlinetvrecorder.com/downloader/api/
    • In Ihrer GUI (zB. im About-Dialog, falls vorhanden) ist Ihre Programm-ID für jeden sichtbar
    Bei quelloffenen Programmen ist es einfach die Programm-ID nachträglich zu ändern. (Btw. mit etwas mehr Aufwand sollte es auch bei einem vorkompilierten Programm möglich sein.) Damit kann jeder die Programm-ID eines anderen Programmes verwenden bzw. in seine Variante des HLTVDLMs schreiben und so eine eventuelle Sperre umgehen.

    Da die Programm-ID öffentlich sein sollte, bleibt als schützenswertes die Formel zur Prüfsummenberechnung. Diese kann bei der Veröffentlichung von Perl- oder PHP-Skripten nur schwer geheim gehalten werden. Ich könnte mir schon ein C-Programm vorstellen, welches nur kompiliert veröffentlicht wird und die Prüfsummenberechnung kapselt. Allerdings kann jeder dieses Programm verwenden um sich Prüfsummen zu generieren und das ist dann kein Fortschritt gegenüber einer öffentlichen Formel.

    Zitat Zitat von renne Beitrag anzeigen
    Gibt es da inzwischen eine Lösung seitens der API?
    Meiner Wahrnehmung nach dient die Prüfsumme und die Programm-ID dazu, die API vor Überlastung zu schützen. Dabei kann ich mir zwei Arten von Überlastung und daraus resultierende Konsequenzen vorstellen:

    1. Ein Programm verwendet die API falsch und generiert zu viele Anfragen -> Programm soll generell "verboten" werden.
    2. Ein Benutzer verwendet ein Programm, welches "korrekt" funktioniert und generiert damit zu viele Anfragen -> in diesem Fall sollte nicht das Programm, sondern der User "bestraft" werden. Das ist mit der aktuellen API nicht möglich, oder?


    Bei der Beschäftigung mit dem Thema ist mir folgende Idee gekommen:
    • Zur Nutzung der API ist ein (zeitlich begrenzt gültiges) "Token" notwendig, welches auf den OTR-Servern generiert wird.
    • Zur Generierung des Tokens, wird der Benutzername und das Passwort des Users und die Programm-ID übermittelt.
    • Der Server entscheidet nun:
      1. darf der User die API verwenden? (z.B. nur Premium-User dürfen die API verwenden)
      2. darf die Programm-ID die API verwenden? (allerdings ist die Programm-ID nicht fälschungssicher)
    • Können alle Fragen mit Ja beantwortet werden wir ein (langes) Token, das vom Client bei jedem API-Aufruf präsentiert werden muss.


    Ich könnte mir auch noch verschiedene Geschmacksrichtungen vorstellen:
    • rate-limited tokens: Anhand des Tokens führt der Server Buch über die Anzahl der Anfragen pro Zeiteinheit und weist Anfragen evtl. ab.
    • qualitativ unterschiedliche Token: Einige Schnittstellenfunktionen können nur mit speziellen (premium) Tokens verwendet werden
    • etc.


    Das ist sicher keine Lösung für alle Probleme und wirft vielleicht an anderen Stelle neue Probleme auf. Aber ich bin der Meinung, dass es nach einem Weg aussieht, den man beschreiten könnte.

    @renne, OTR: Was meint ihr dazu?

    Gruss lusiux

    PS: Hmm, wir diskutieren gerade im HLTV-Forum über die OTR-Api
    Geändert von lusiux (10.07.12 um 13:39 Uhr) Grund: Feinschliff

  3. #13
    Administrator
    verifizierter OTR Benutzer
    Avatar von OTR.DG
    Registriert seit
    Mar 2007
    Beiträge
    3.920

    Standard AW: Api

    Das löst das Problem leider nicht, denn laut den Richtlinien zur API-Verwendung (http://www.onlinetvrecorder.com/downloader/api) soll jedes Programm, welches die API verwendet seine Programm-ID sichtbar machen:
    Ja, die Id. Das ist nur eine Zahl. Damit man "von außen" erkennt, welcher (zb.) Programmierer dahintesteckt.
    Da sollen natürlich keine geheimen Checksummen-Berechnungen veröffentlicht werden.


    Bei quelloffenen Programmen ist es einfach die Programm-ID nachträglich zu ändern.
    Die SOLL ja in diesem Fall auch geändert werden.

    Du verteilst das Skript OHNE Id und ohne Checksummenberechnung.
    Jeder der das dann einsetzen will, muss sich erst von OTR seinen eigenen API-Zugang besorgen.

    Setz da einfach Platzhalter ein, "Hier Ihre OTR-API-Id eintragen" und fertig
    Geändert von OTR.DG (10.07.12 um 14:20 Uhr)

  4. #14
    verifizierter OTR Benutzer
    Registriert seit
    Mar 2008
    Beiträge
    43

    Standard AW: Api

    Zitat Zitat von OTR.DG Beitrag anzeigen
    Du verteilst das Skript OHNE Id (...)

    Setz da einfach Platzhalter ein, "Hier Ihre OTR-API-Id eintragen" und fertig
    Da geb' ich dir recht, das ist einfach. Allerdings wird doch damit die Programm-ID ab absurdum geführt. Man kann einfach die Programm-ID eines anderen Programmes eintragen, wenn die eigene Programm-ID gesperrt wird.

    Zitat Zitat von OTR.DG Beitrag anzeigen
    ...und ohne Checksummenberechnung.
    Das bedeutet aber, dass jeder "Anwender" die Formel zur Prüfsummenberechnung selbst in Code verwandeln muss.

  5. #15
    Administrator
    verifizierter OTR Benutzer
    Avatar von OTR.DG
    Registriert seit
    Mar 2007
    Beiträge
    3.920

    Standard AW: Api

    Man kann einfach die Programm-ID eines anderen Programmes eintragen, wenn die eigene Programm-ID gesperrt wird.
    Nur wenn du auch die geheime Cheksummenberechnung kennst.
    Nur mit der nackten Nummer ist es ja nicht getan. Du kannst dir nicht einfach eine Zahl ausdenken und da eintragen
    Die geheime Berechnung gibt es nur auf Anfrage und für jeden User neu.

    Das bedeutet aber, dass jeder "Anwender" die Formel zur Prüfsummenberechnung selbst in Code verwandeln muss.
    Wer sich PHP-Code oder eine andere offene Source holt, gilt aber eher als Entwickler und nicht als Endnutzer Und den Code gibt es wie gesagt auf Anfrage.
    Geändert von OTR.DG (10.07.12 um 16:38 Uhr)

  6. #16
    verifizierter OTR Benutzer
    Registriert seit
    Mar 2008
    Beiträge
    43

    Standard AW: Api

    Zitat Zitat von OTR.DG Beitrag anzeigen
    Die geheime Berechnung gibt es nur auf Anfrage und für jeden User neu.
    Ahhhhhhh...diese Information hat mir gefehlt.
    Wenn es zu jeder Programm-ID eine andere Formel zur Checksummenberechnung gibt, dann kann man nicht einfach die Programm-ID ändern.

    Ich vermute mal, dass die grundlegende Formel der Checksummenberechnung immer gleich ist, nur die Parameter etwas variieren. Stimmt das?
    Wenn ja, könnte man die implementierte Formel veröffentlichen und die Parameter genauso wie die Programm-ID als Konfigurationsoption sehen. Wäre das in eurem Sinne?

    Zitat Zitat von OTR.DG Beitrag anzeigen
    Wer sich PHP-Code oder eine andere offene Source holt, gilt aber eher als Entwickler und nicht als Endnutzer Und den Code gibt es wie gesagt auf Anfrage.
    Bei quelloffenen Programmen, die kompiliert werden müssen, stimme ich dir zu. Aber PHP- und Perl-Skripten kann man verwenden, ohne auch nur einen Schimmer von PHP/Perl zu haben.

  7. #17
    nicht verifizierter OTR-Benutzer verifizierter OTR Benutzer
    Registriert seit
    Apr 2007
    Beiträge
    5

    Standard AW: Api

    Zitat Zitat von renne Beitrag anzeigen
    HLTVDLM ist ein in PHP geschriebener Download-Manager für HomeloadTV.

    Eine erste Version zum Testen gibt es per Download oder GIT (git://gitorious.org/hltvdlm/hltvdlm.git).

    Da HLTVDLM nur auf der zu Beginn dieses Threads per Reengeneering erstellten API basiert, können OTR'ler sich vielleicht den Programmfluss ansehen
    und mir mitteilen, ob die API korrekt implementiert wurde.
    Im "doc"-Verzeichnis des Repositories befindet sich eine Doxygen-XHTML-Dokumentation des Quellcodes inklusive Call(er)-Graphen.

    Es git auch ein einfaches Wiki.
    Super Client, verwende ihn seit ein paar Tagen und bin begeistert

Seite 2 von 2 ErsteErste 12

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •