Cronjob-URL will Benutzer und Passwort

Thema wurde von dmun, 7. September 2019 erstellt.

  1. dmun
    dmun Erfahrener Benutzer
    Registriert seit:
    2. Juni 2019
    Beiträge:
    325
    Danke erhalten:
    36
    Danke vergeben:
    6
    Hallo,

    beim Aufruf der ronjob-Url mittels wget oder curl wird ein Benutzer/Password verlangt. Ist das so gewollt ? Wenn ich die Doku richtig verstehe, dann sollte es ohne Authentifizierung gehen.

    Güße, Dirk
     
  2. Dennis (MotivMonster.de)
    Dennis (MotivMonster.de) G-WARD 2013/14/15/16
    Registriert seit:
    22. September 2011
    Beiträge:
    31.303
    Danke erhalten:
    6.268
    Danke vergeben:
    1.118
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Welchen Cronjob den? Von welchem Modul?
    Normal is da ein Tocken hinten dran.
     
  3. Developer
    Developer Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    3.145
    Danke erhalten:
    716
    Danke vergeben:
    127
    Die "normale" Cronjob-URL aus dem Shop verlangt keine Zugangsdaten, es sei denn, dein Shop ist ggfs. mit einem Verzeichnisschutz versehen. Wenn ja, kann man diese mitgeben.

    Sprechen wir von individuellen Scripten, dann muss man hier prüfen, was dort bei der Ausführung passiert.

    Aus deinem Beitrag geht nicht richtig hervor, was dein genaues Vorhaben ist, weil Du zum Beispiel cURL in den Raum wirfst.

    Du kennst den Hintergrund von Wget und cURL?

    Aber, bevor wir hier spekulieren, bei welcher Url oder welchem Vorhaben das passiert, solltest Du sie vielleicht mal hier posten oder uns mitteilen, worum es geht. Und, wenn es geht, auch ohne sensible Daten, wie den Token bitte. :)
     
  4. dmun
    dmun Erfahrener Benutzer
    Registriert seit:
    2. Juni 2019
    Beiträge:
    325
    Danke erhalten:
    36
    Danke vergeben:
    6
    Hi,

    Im Admin: Toolbox - Zeitgesteuerte Aufgaben. Dort wird im Feld Cronjob-URL eine URL angezeigt welche regelmäßig von cron aufgerufen werden soll. Wenn ich diese URL nehme und mit wget oder curl aufrufe dann wird entweder ein Passowrt verlangt oder es kommt zu einer "nicht erfolgreich" Meldung.
    Ich bin davon ausgegangen, dass dieses URL direkt ohne Authentifizierung aufgerufen werden kann.

    Einen zusätzlichen Verzeichnisschutz über .htaccess gibt es nicht.

    Wenn ich die URL im Browser aufrufe und parallel in einem anderen Tab im Shop als Admin angemeldet bin, dann klappt alles ohne Passwortabfrage.

    Grüße, Dirk
     
  5. Developer
    Developer Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    3.145
    Danke erhalten:
    716
    Danke vergeben:
    127
    Sende mal ein Screenshot, was Du da genau machst. Der Shop ist auch erreichbar, richtig?
     
  6. dmun
    dmun Erfahrener Benutzer
    Registriert seit:
    2. Juni 2019
    Beiträge:
    325
    Danke erhalten:
    36
    Danke vergeben:
    6
    Screenshot von was ? Dies hier:
    upload_2019-9-7_12-37-6.png

    das zuletzt Ausgeführt Datum/Uhrzeit kommt vom letzten Test über den Browser

    Ich vermute dass der "token=60a5509c61f294e643f072babe318e5e" nicht (mehr) passt, weil der Shop aus dem Testshop übernommen wurde und dieser vorher in einem anderen Verzeichnis bzw. Server lag.
     
  7. Developer
    Developer Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    3.145
    Danke erhalten:
    716
    Danke vergeben:
    127
    Wie und wo legst Du den Cronjob bei deinem Provider an? Mit dem Screenshot von dir, kann ich nichts anfangen. Da steht doch nur die Url! :)

    Der Cronjob bzw. die Url (Shop/Provider) muss passen, sonst kann die Kommunikation auch nicht richtig funktionieren.

    Des Weiteren tust Du leider meine Fragen nicht beantworten, so dass das schwierig wird, dir zu helfen.

    Ich empfehle dir ein Ticket aufzumachen.
     
  8. Dennis (MotivMonster.de)
    Dennis (MotivMonster.de) G-WARD 2013/14/15/16
    Registriert seit:
    22. September 2011
    Beiträge:
    31.303
    Danke erhalten:
    6.268
    Danke vergeben:
    1.118
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    wenn du die url im browser aufrufst ohne im admin zu sein, also anderer browser inkoknito usw. dann geht die nicht?
    das wäre dann ein fehler.
     
  9. dmun
    dmun Erfahrener Benutzer
    Registriert seit:
    2. Juni 2019
    Beiträge:
    325
    Danke erhalten:
    36
    Danke vergeben:
    6
    daher auch die Frage was genau Du haben willst.

    Der cronjob kommt in die /etc/crontab (ich habe keinen Provider der Cronjobs für mich ausführt) aber wie schon geschrieben scheitert schon der direkte Aufruf auf der Kommandozeile:

    wget https://domain.de/shop/shop.php?do=Cronjobs/Run&token=60a5509c61f294e643f072babe

    Führt zu
    HTTP request sent, awaiting response... 401 Unauthorized
    Username/Password Authentication Failed.

    und

    curl https://domain.de/shop/shop.php?do=Cronjobs/Run&token=60a5509c61f294e643f072babe

    führt zu:
    {"success":false}

    wobei die Kommunikation (laut curl -v ...) einwandfrei zu stande kommt

    @Dennis
    In der Tat der direkte Aufruf vom Browser aus auch wenn man nicht als Admin angemeldet ist funktioniert.

    Verstehe ich nicht...
     
  10. dmun
    dmun Erfahrener Benutzer
    Registriert seit:
    2. Juni 2019
    Beiträge:
    325
    Danke erhalten:
    36
    Danke vergeben:
    6
    erledigt.
    Wird jetzt aus einem Script heraus aufgerufen.
     
  11. GGE
    GGE Neues Mitglied
    Registriert seit:
    2. Juni 2018
    Beiträge:
    1
    Danke erhalten:
    0
    Moin!

    Hatte das gleiche Problem auf meinem eigenen Debian-Server.

    Zuerst hatte ich es, als Eintrag im cron, so probiert:

    wget https://gge-verlag.de/shop.php?do=Cronjobs/Run&token=xxx

    Das führt dann zu dem Authentifizierungsfehler.
    Warum ergibt sich, wenn man wget mit -d zum debuggen aufruft. Der Teil nach dem ...shop.php wird als Dateiname interpretiert. Also habe ich die URL in einfache Anführungsstriche gesetzt, dann funktioniert es.

    wget 'https://gge-verlag.de/shop.php?do=Cronjobs/Run&token=xxx'

    Allerdings müllt man sich damit evtl. das Dateisystem voll, da hierbei minütlich Dateien nach dem Muster shop.php?do=Cronjobs%2FRun&token=xxx angelegt werden.

    Macht man das Ganze mit curl passiert das nicht (bei mir):

    curl 'https://gge-verlag.de/shop.php?do=Cronjobs/Run&token=xxx'

    Viele Grüße, Volker
     
  12. Dennis (MotivMonster.de)
    Dennis (MotivMonster.de) G-WARD 2013/14/15/16
    Registriert seit:
    22. September 2011
    Beiträge:
    31.303
    Danke erhalten:
    6.268
    Danke vergeben:
    1.118
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    macht ihr das nicht mit crontab? Dafür is das doch da
     
  13. dmun
    dmun Erfahrener Benutzer
    Registriert seit:
    2. Juni 2019
    Beiträge:
    325
    Danke erhalten:
    36
    Danke vergeben:
    6
    Hallo @GGE, ich glaube mit Hochkomma hatte ich es auch versucht, mit dem gleichen Ergebnis. Ich habe alles in ein Script gepackt welches jetzt aufgerufen wird, damit geht alles und ich mache zusätzlich noch ein paar Log-Einträge.

    @Dennis: siehe oben, dort steht das Problem beschrieben

    Grüße, Dirk
     
  14. Dennis (MotivMonster.de)
    Dennis (MotivMonster.de) G-WARD 2013/14/15/16
    Registriert seit:
    22. September 2011
    Beiträge:
    31.303
    Danke erhalten:
    6.268
    Danke vergeben:
    1.118
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    daher die frage warum ihr das mit dem wget oder curl macht statt über die crontab vom server?
    crontab -e
    i root aufrufen und nen cronjob einrichten. so z.B.
    (Link nur für registrierte Nutzer sichtbar.)

    daher die frage warum ihr das nicht nutzt. Da leg ich alle cronjobs von uns mit an.
    interval - URL - Parameter
    fertig.
     
  15. dmun
    dmun Erfahrener Benutzer
    Registriert seit:
    2. Juni 2019
    Beiträge:
    325
    Danke erhalten:
    36
    Danke vergeben:
    6
    Auch das steht oben beschrieben.
    Da nun ein Script aufgerufen wird, welches die URL aufruft und auch protokolliert und dies stabil funktioniert, habe ich mich auch nicht weiter um die Sache gekümmert.