Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Schnittstellenprogrammierung -> Statusänderung orders

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Ich bin gerade daran einen connector zu schreiben der die Lexware Fibu über odbc/lx und DHL Easylog in den Shop integriert.

    Stand ist, ich habe die Lexware RE Nummer, Lexware KD Nummer und die DHL Trackingnummern in der Modified Datenbank.

    Jetzt kommt der Block der dem Kunden eine Mail schicken soll "Ihre Trackingnummer ....." und auch den Status der Bestellung ändert auf Versendet.

    Sehe ich das richtig, dass ich nur in Tabelle orders das Feld orders_status ändern muss und in Tabelle orders_status_history die Felder orders_id,orders_status_id,date_added,customer_notified beschreiben?

    Oder habe ich was übersehen? Ich will den Shop nicht durcheinanderbringen ...

    Linkback: https://www.modified-shop.org/forum/index.php?topic=30167.0

    webald

    • modified Team
    • Beiträge: 2.791
    1. Durch ändern des Status wird keine Mail verschickt.
    2. Wie bekommst Du die Daten von Lexware nach modified? Ruft der Shop die Daten von Lexware via ODBC direkt ab oder gibt es ein Programm auf dem Lexware-Rechner, das die Daten via ODBC von Lexware abruft und dann an den Shop weiter gibt? Im ersten Fall könntest Du auch gleich das Admin-Passwort im Shop im Klartext anzeigen.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Zu 1) Ist mir bewusst, bin gerade dabei die entsprechenden Templates zu bauen und die Funktion zum Mailversand.

    Zu 2)
    Der Weg ist der:
    Auf einem Apache hier im Büro läuft ein PHP script. Das holt die Daten aus den DHL Easylog CSV Files und per ODBC aus Lexware.

    Dann wird ein php script auf dem Webserver vom Modified Shop aufgerufen.
    order_export.php (Im root des modified Shops) Schreibt die Daten in CSV File im Ordner /orders (Rechte 700)
    Erste Zeile im Script: (die xxx Werte ist logischerweise unsere statische IP im Büro)

    Code: PHP  [Auswählen]
    if (getenv('REMOTE_ADDR') != "xxx.xxx.xxx.xxx") die ("Access denied!");

    Dann wird per SFTP das CSV gelesen.

    Datenverarbeitung.

    Dann wird per SFTP wieder ein CSV in den Ordner /orders kopiert.

    Dann wird die import_orders.php  (Im root des modified Shops) aufgerufen, die die Daten in die Datenbank des Shops schreibt.
    Erste Zeile hier ist wieder:

    Code: PHP  [Auswählen]
    if (getenv('REMOTE_ADDR') != "xxx.xxx.xxx.xxx") die ("Access denied!");

    Ein Angreifer muss es also schaffen
    a) Meine IP rauszubekommen
    b) Mein Büronetzwerk hacken oder den Apachen anzulügen was seine IP ist.

    Und dann wenn er das geschafft hat, kann er nur das machen was in meinen PHP scripten fest verdrahtet ist. Ich arbeite komplett ohne GET und PUT.

    3) Die Frage war eine andere, aber Danke, dass Du Dir sorgen um meine Security machst.

    webald

    • modified Team
    • Beiträge: 2.791
    3) Die Frage war eine andere, aber Danke, dass Du Dir sorgen um meine Security machst.

    Stimmt. Ich sehe aber auch keine anderen notwendigen Eingaben.

    Sicherheit:
    Kenn Lexware nur von ganz früher und da wurde eine passwortgeschützte Sybase-DB benutzt. ODBC ging damals schon (wenn man das Passwort auslesen konnte), allerdings erkauft man sich das mit einer offenen Datenbank. Jeder mit ODBC Möglichkeiten (etwa ein Excel-User) kann Daten abrufen und schlimmer noch - ändern. Das kann Dir die ganze Buchhaltung zerstören, vom Ärger mit dem FA mal abgesehen. Kannst Du nicht direkt auf die DB zugreifen? Dann könntest Du einen extra User anlegen, der nur bestimmte Rechte hat und unter diesem User einen Dienst (sehe die Notwendigkeitkeit von einen Zwischen-Apachen nicht) oder ein zeitgesteuerten Programmaufruf ausführen.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Das von Dir angesprochene geht nicht mehr.
    ODBC/LX ist eine käufliche ODBC Schnittstelle mit der man mehrere User mit nur lese oder schreib/lese Zugriff einrichten kann. Auch kann man limitieren auf welche Firma derjenige darf.
    Da nur ich alleine hier in der Firma auf das Filesystem des Webservers darf, und das Passwort so komplex ist, dass eine Bruteforce schätzungsweise 200 000 Jahre braucht, sehe ich hier kein hohes Risiko.
    Das Teil ist sowieso schon im Einsatz, da es die einzige vernünftige Verbindung zu DHL Easylog ist. Die anderen Lösungen kommen nicht klar mit identischen RE Nummern aus unterschiedlichen Firmen.

    Das Teil ist sowieso eine Windoof Kiste. Mein Dozent sagte mal "Wenn ihr einen Windows Rechner sicher machen wollt, zieht alle Kabel raus, und stellt ihn in einen Tresor."
    Jeder Volltrottel kann einen Windoof server hacken, und einen Keylogger installieren. Damit käme er auch an das Supervisor Passwort von Lexware.....

    Also solange mein PHP Script nicht Lesbar ist, außer für mich und den webserver der das parsen muss, kann ich da ganz beruhigt ein PHP script hinlegen in dem mein Passwort im Klartext steht.

    Zu 3) Danke, will keine Zahlungsmodule oder sonstiges abschießen. Hab mir sowieso schon den login abgeschossen (Fehler: Die angegebene Mailadresse existiert nicht ... ) und keine Idee womit :-( Seltsam ist, der Admin Login geht noch, deshalb habe ich keine Ahnung ob das gestern war oder vor einer Woche. Die Anzahl der Änderungen seitdem ist unüberschaubar. :-(
    Werbung / Banner buchen
    8 Antworten
    4475 Aufrufe
    29. April 2014, 16:32:27 von webald
    2 Antworten
    1982 Aufrufe
    25. April 2014, 11:17:29 von sacrion
    11 Antworten
    4935 Aufrufe
    26. Juli 2018, 11:40:20 von sb_cbo-do
    4 Antworten
    2740 Aufrufe
    12. November 2012, 23:04:59 von Eichenhorn