Gambio XML API und HTTPS

Thema wurde von rainer_hinken, 2. Dezember 2017 erstellt.

  1. rainer_hinken

    rainer_hinken Mitglied

    Registriert seit:
    16. November 2016
    Beiträge:
    15
    Danke erhalten:
    0
    Hallo,

    nach der Umstellung auf https schein die XML Api nicht mehr zu funktionieren. Nach einer Lösung habe ich zwar gesucht bin aber leider nicht fündig geworden.

    Der Response:
    <?xml version="1.0" encoding="UTF-8"?>
    <GambioXML>
    <request>
    <success>0</success>
    <errormessage>&lt;![CDATA[ErrorException: Undefined index: gambio_api_xml in ../system/classes/gambio_xml/XMLConnectAjaxHandler.inc.php:88
    Stack trace:
    #0 .../system/classes/gambio_xml/XMLConnectAjaxHandler.inc.php(88): custom_error_handler(8, 'Undefined index...', '/homepages/40/d...', 88, Array)
    #1 .../system/core/RequestRouter.inc.php(93): XMLConnectAjaxHandler-&gt;proceed()
    #2 .../request_port.php(70): RequestRouter-&gt;proceed('XMLConnect')
    #3 {main}]]&gt;</errormessage>
    </request>
    </GambioXML>

    BTW: Auf REST um zustellen ist die wirklich allerletzte alternative, da mir das extrem viel Arbeit machen würde um es in eine API neutral zu integrieren.

    MfG
     
  2. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.693
    Danke vergeben:
    903
    Hallo Rainer,

    da scheint es eine Umleitung der Url zu geben, bevor die API angesprochen wird und dabei gehen die Daten verloren. Stelle sicher, dass die API-Url die richtige ist und nicht z. B. erst von nicht-www auf www umgeleitet wird (oder umgekehrt). https ist jedenfalls kein Problem für die Schnittstelle.
     
  3. Wilken (Gambio)

    Wilken (Gambio) Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.310
    Danke vergeben:
    2.208
    Jegliche serverseitigen permanenten Umleitungen können das umbringen. Wenn da was ist, raus damit.
     
  4. rainer_hinken

    rainer_hinken Mitglied

    Registriert seit:
    16. November 2016
    Beiträge:
    15
    Danke erhalten:
    0
    Hallo,

    danke für die Antworten. Es ist nen 1&1 webspace .. bewusster weiße hab ich da nichts eingestellt .. meint ihr ne .htaccess?

    MfG
     
  5. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    31.183
    Danke erhalten:
    6.202
    Danke vergeben:
    1.104
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    evtl. falls du da umleitungen drinnen hast
     
  6. rainer_hinken

    rainer_hinken Mitglied

    Registriert seit:
    16. November 2016
    Beiträge:
    15
    Danke erhalten:
    0
    Naja liegt nur die Standart Gambio .htaccess drin .. habe sie mal durchgesehen (bissel ausserhalb meiner Liga) .. aber grundsätzlich ist sonst Serverseitig nichts eingestellt zumindest finde ich nichts und aus der Vergangheit ist mir auch nicht bekannt das man redirects einstellen konnte.

    Aus Frustation hab ich mir dann doch mal die REST API angetan .. ein Spaß mit .NET ...

    Da hab ich dann auch sehr interessante Eigenheiten gefunden:
    1. Ruft man den Shop ohne www. auf gehts, nimmt man das www. dazu gehts nicht mehr => 401, Gambio .htaccess vermutlich macht eine redirect auf ohne www. und dabei werden die AUTH Headers gelöscht ...

    2. Greift man auch eine nicht vorhandene BestellId zu HTTP 500 und in der Response steht dann ""message": "The requested Order was not found in database (ID:40800)" .. ist irgendwie auch nicht gerade sinnvoll aus meiner Sicht. Grundsätzlich wäre der Aufruf auch 200 nur mit dem entsprechenden Response ...

    3. Aus Sicherheitsaspekten: Werden die Schnittstellen eigentlich irgendwie im Exklusiv Modus betrieben? D.h. ein Zugriff von einer IP zu einem Zeitpunkt? Werden die API Calls geloggt? DoS und Brutforce Safe das ganze?


    MfG
     
  7. Wilken (Gambio)

    Wilken (Gambio) Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.310
    Danke vergeben:
    2.208
    Man muss EXAKT die Domain nehmen, die in den configure Dateien steht. Steht sie dort mit www, muss man mit www nehmen. Steht sie dort ohne, muss man ohne nehmen.

    Können wir mal drüber nachdenken.

    Nö, aber mir wäre jetzt auch nicht klar, wie wir darüber die Sicherheit steigern könnten.
     
  8. rainer_hinken

    rainer_hinken Mitglied

    Registriert seit:
    16. November 2016
    Beiträge:
    15
    Danke erhalten:
    0
    Hmm .. hab mal gerade in the Shop Configs geguckt.

    Da stehen die URL's ohne www drin .. den Grund warum das dann mit www nicht gehen soll versteh ich zwar nicht .. aber ich nehm das an der Stelle einfach mal so hin.

    Wegen der Sicherheit, DoS wird wohl irgendwie durch den Provider abgefangen werden. Evtl. wirds beim Brutforce ähnlich sein, wobei hier die Möglichkeiten aus Mail und Passwort doch recht gigantisch sind.
    Logging wäre zumindest nicht schlecht, dass man mal ne Übersicht bekommt wann was war.

    Wie gesagt ich hab mich nun mit der REST API auseinander gesetzt und hat mich einige Zeit gekostet. Es scheint ganz gut zufunktionieren. Falls jemand mal nen Code Snippet für .NET braucht einfach mal melden.

    Vielen Dank für eure Hilfe und einen schönen Tag.

    MfG
     
  9. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.569
    Danke erhalten:
    11.312
    Danke vergeben:
    1.614
    Um doppelten Content zu vermeiden hat man früher eine Weiterleitung in die .htaccess geschrieben, entweder von mit www. auf ohne www. oder umgekehrt.
    In den neuen Versionen leitet der Shop das automatisch auf die URL, die in den Configure-Dateien steht.