Auth-Fehler (401) für wp-cron.php

  • Hi.

    Ich versuche WordPress auf einer Site zu betreiben, die nicht ohne Authentifizierung zugänglich ist (SSL+Basic Auth), d.h. man kommt nicht "direkt" an das Blog.

    Jetzt habe ich mal in das Apache-Log geschaut und gesehen, dass da alle Nase lang Fehler (401) im Zusammenhang mit dem Aufruf von wp-cron.php auftauchen. Was kann ich dagegen tun ?

    Besten Dank

    (mk)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Mögliche Lösung

    Hi.

    Gibt es eigentlich eine Development Mailingliste bzw. ein Developer Forum ?

    Wie dem auch sei. Ich habe keine Zeit und muss zur Tagesordnung übergehen. Das Problem ist wohl, dass beim Aufruf von wp-cron.php keine Authentifizierung stattfindet. Das Anlegen eines "cron-Users" und Anfügen eines Authentification Headers hat da geholfen. Wie alle Leute, die was mit PHP machen, verstehe ich natürlich nicht wirklich, was ich da tue :) Ich bin für jede andere Lösung offen.

    Evtl. könnte man neben "siteurl" auch ein "cronurl" oder "daemonurl" erfinden, dem dann der für cron zu benutzende User und sein Password angeflanscht werden (https://user:password@example.com/blog oder so). Der User muss natürlich in die Password-Datei des Webservers eingetragen werden und https ist Pflicht. Oder man klaubt sich die Credentials des aktuellen Benutzers irgendwo raus.

    So sieht bei mir das Ende von spawn_cron() in wp-cron.php aus. Natürlich alles hardcoded. Die Werte in spitzen Klammern müssen ggf. an die lokalen Gegebenheiten angepasst werden.

    Code
    if ( $argyle )
                    fputs( $argyle,
                              "GET {$parts['path']}?check=" . wp_hash('<komische Zahl>') . " HTTP/1.0\r\n"
                            . "Host: {$_SERVER['HTTP_HOST']}\r\n"
                    );
                    fputs( $argyle,
                           "Authorization: Basic " . base64_encode("<cronuser>".":"."<cronpassword>")."\r\n\r\n");
    }


    (mk)

    PS: Diese Graphik-Smileys sind das absolut kreutzdämlichste, was mir jemals untergekommen ist. Wie kann man diesen irrwitzigen, faschistischen Scheißdreck abstellen ?

    Einmal editiert, zuletzt von Monika (12. Juni 2007 um 20:59)

  • ...Diese Graphik-Smileys sind das absolut kreutzdämlichste, was mir jemals untergekommen ist. Wie kann man diesen irrwitzigen, faschistischen Scheißdreck abstellen ?...

    Beim Schreiben unten bei "Verschiedene Einstellungen" -> [x] Grafische Smileys deaktivieren :-)
    Nachträglich oder generell geht das wohl nicht. :-(

    Wenn ich helfen konnte, bitte :) klicken.

Jetzt mitmachen!

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