Beiträge von Melewo

    Die Lösung für Fragende ist ganz simpel. Einfach nie erwähnen, daß man etwas für einen Kunden macht, sondern immer für sich selbst sprechen. Das sollte in den Leitfaden für Forennutzer aufgenommen werden. :-)


    Ja, aber zusätzlich immer noch schildern, was man bereits selbst unternommen hat, um ein Problem zu lösen oder eine Antwort auf simple Fragen zu finden. Sonst gibt es auch nur dumme Antworten, ob es keine Suche gibt oder wie im vorliegendem Fall, ob es nicht x Tutorials gibt, die man bereits hätte durcharbeiten können. Und vor allem nie fragen, bevor man versucht hat ein Theme zu installieren, dann genau das Problem schildern, bei dem es nicht weiter ging.

    Es ist doch wohl ein Unterschied, ob ich mal nebenbei ein Rücklicht bei einem eigenen PKW auswechseln möchte und wenn ich dabei an einer Stelle ankomme, an der ich als Laie nicht mehr weiter weiß, in einem Forum nachfrage, oder ob ich als Dienstleister die Installation von Kfz Elektrik anbiete. Von letzteren würde ich erwarte, dass er bereits ein Fachmann auf diesem Gebiet ist, bevor er diese Leistungen anbietet und nicht erst in einem Forum nachfragen muss, wie es denn gemacht wird.

    Sicherlich kann man nicht alles, doch dann muss man auch einen Kunden so ehrlich gegenüber sein und diesen dann zum Beispiel einen befreundeten Entwickler empfehlen. Ist im Handwerk ganz normal, das ein Dachdecker sagt, dass er sich für ein Angebot erst einmal mit einem Zimmermann besprechen muss. Hier will eine Texterin mal kurz ein Theme verändern, obwohl sie nicht einmal weiß, was mit WP möglich ist.

    Das hat aber nichts mit dem Problem der mehrfachen Punkte zu tun.


    Ich meine auch nur, nichts bietet so viele Angriffspunkte zum Einschleusen von Schadcode wie Formulare und insbesondere Formulare plus Upload-Script. Und das mit der shell.gif.php sah gerade so gut aus mit den zwei Punkten, obwohl es mehr um *.php ging.

    Das Plugin ist zu umfangreich, um das in Kürze wirklich nachvollziehen zu können. Soll heißen, verstehe nicht einmal einen Bruchteil bisher. Als Hooks werden unter anderem "upload_mimes" und "fu_allowed_mime_types" verwendet, um $mime_types zu filtern, dann die Schleife und irgendwas läuft wohl nicht wie vorgesehen, kann mich aber irren:

    PHP
    foreach ( $mime_types as $ext_key => $mime ) {
        // Check for php just in case
        if ( false !== strpos( $mime, 'php' ) )
            unset( $mime_types[$ext_key] );
    }

    Werfe alles raus, was nicht einem RegEx-Muster entspricht, gefällt mir da dann doch besser.

    In Plugins scheint es aber nach wie vor eine Schwachstelle zu sein (oder etwas in dieser Richtung) und diese Meldung ist ja erst vom Februar:

    Zitat


    you can upload files with php extension. Example: c99.php, shell.gif.php, etc...


    http://www.exploit-db.com/exploits/31570/

    Hier ist noch etwas mehr beschrieben:

    http://osvdb.org/show/osvdb/103454

    Nun habe ich es mir gerade erst heruntergeladen, will mal einen Blick aufs Innenleben werfen, um eventuell eigene Fehler zu verringern.

    Und dann mit Einrückungen, damit man erkennt, wo was beginnt und wo was endet. Was soll ${"$key"} sein?

    Das ist genau die Syntax, die ich nicht mag, viel zu viele Unterbrechungen mit PHP, dann lieber gleich alle Strings mit PHP ausgeben. Kann ich jetzt nicht testen, da ja alle Variablen bei mir undefiniert wären. Wer PHP lernen möchte, sollte das nicht mit WP, weil WP von der Schreibweise her betrachtet dafür ungeeignet ist.

    Aktuell überarbeite ich für einen Kunden eine Webseite basierend auf Wordpress


    Du bietest Leitungen an, von denen Du keine Ahnung hast, möchtest diese Leistungen vom Kunden bezahlt haben, doch hier kostenlose Hilfe erhalten.

    Sind diese Ansprüche überhaupt über ein Wordpress Theme zu verwirklichen?


    Diese Ansprüche sind problemlos zu verwirklichen, ebenso wie noch weit darüber hinausgehende Ansprüche. Vorausgesetzt man kniet sich über einen längeren Zeitraum in WordPress hinein.

    Ein Forum ist nur eine Hilfe zur Selbsthilfe. Entweder man gliedert diese Leistungen aus, zum Beispiel durch Kooperation mit Theme-Entwicklern oder bietet diese nicht an oder kniet sich in WordPress hinein.

    Da ich ein child theme benutze habe ich versucht den code in der css einzufügen. Leider hat es nicht funktioniert


    Welchen Code?
    Hatte nichts von Code geschrieben, sondern wie Du zwei hr-Elemente eventuell an der richtigen Stelle in den Template-Dateien unterbringen könntest, falls diese bei dem von Dir verwendeten Theme von Dir auffindbar sein sollten. Da aber mit abschließendem Kommentar versehen, nehme ich schon an, dass diese im Template vorhanden sind. In der CSS hat HTML nichts verloren.

    Wenn Du es aber über die CSS versuchen möchtest, dann könntest Du es etwa so probieren.

    Code
    #nav-above {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    }

    Für den Fall, dass Du diese Abschnitte in den Template-Dateien finden solltest:

    HTML
    <nav id="nav-above">
        ...
        ...
        ...
    </nav><!-- #nav-above -->


    Dann einfach hr einfügen, wobei hr entsprechend mit CSS zu formatieren wäre.

    HTML
    <nav id="nav-above">
    <hr />
        ...
        ...
        ...
    <hr />
    </nav><!-- #nav-above -->

    Oder Du suchst in der CSS danach und fügst border-top und border-bottom hinzu.

    meine so etwas wie dieses hier:
    https://wpde.org/voraussetzungen/


    Diese Angaben, außer Memory-Limit, findest Du doch eigentlich bei jedem Hoster in den Paket-Übersichten, was möchtest Du da noch für Tipps?
    Memory-Limit ist noch wichtig und da ist es bislang noch keine Selbstverständlichkeit, dass diese Angaben in den Übersichten bei jedem Hoster erscheinen.

    Also mal ehrlich, ein Prüfskript, das sich durch so einen simplen "Trick" überrumpeln läßt, verdient den Namen nicht. :-)


    Eigentlich enthält $_FILES schon ein Array mit Mime-Type.

    hochgeladen: test.dokument.was.pdf

    Code
    Array
    (
        [name] => test.dokument.was.pdf
        [type] => application/pdf
        [tmp_name] => C:\xampp\tmp\php1622.tmp
        [error] => 0
        [size] => 165712
    )

    hochgeladen: test.dokument.pdf.php

    Code
    Array
    (
        [name] => test.dokument.pdf.php
        [type] => application/octet-stream
        [tmp_name] => C:\xampp\tmp\php2ED1.tmp
        [error] => 0
        [size] => 165712
    )


    In einem zweiten Schritt könnte bei Bildern getimagesize folgen, für eine nochmalige Überprüfung von Mime-Type. Wie sich Videos und anderes Mime-Type überprüfen lassen, dafür hatte ich zwischendurch mal eine Lösung gefunden, doch leider wieder vergessen.

    Nur wie wird mit application/octet-stream umgegangen? Eben damit stelle ich Zip-Archive zum Download bereit. Probleme sind mir bisher nicht bekannt, obwohl es sich bei octet-stream theoretisch auch um ausführbare Dateien handeln könnte.

    Bei WP habe ich es bisher nicht mit einem Punkt getestet, was auch mit daran lag, dass ich bei einem eigenen Upload-Script nicht auf die Idee kam, einen Punkt durchzulassen. Wobei das neben der Überprüfung von $_FILES und mit getimagesize als zusätzliche Sicherheit diente:

    PHP
    $pruefe = preg_replace("/[a-z0-9_-]+?\.(jpg|png)/i", "", $imagen);


    Es wird ja nicht der eigentliche Name verwendet, denn eine Upload-File wird immer zuerst unter irgendwas123.tmp auf dem Server gespeichert, bevor es dann von PHP einen Namen erhält und in ein Zielverzeichnis verschoben wird. Für mich war es bisher normal, von PHP dabei den ursprünglichen Namen aufgeräumt zu verwenden.

    Hatte einmal mit einer ganz kleinen Galerie begonnen, war nur ein erster Entwurf und wurde bisher nicht fertig gestellt, nur das Upload-Script wurde halbwegs fertig:

    http://www.coder-welten.de/php/csv/bg-erw…load-script.htm

    Eigentlich sind nur diese Zeichen in Dateinamen nicht erlaubt.

    Code
    < > ? " : | \ / *


    Die gehen einen Schritt weiter und schreiben, dass ein Dateiname nicht mit einem Punkt beginnen darf, allerdings sehe ich diese Seite zum ersten Mal und es bezieht sich mehr auf Betriebssysteme:

    http://www.teamdrive.com/de/Nicht_erlau…Dateinamen.html

    Für mich ist aber eine Schreibweise wie

    Code
    domain-name.tld/verzeichnis/verzeichnis/datei-name.extension


    immer noch etwas, was einer verständlichen Gliederung entspricht. Einen anderen Grund zum Widersprechen finde ich jetzt nicht. Da aber mit /datei-name.jpg.exe bereits Schindluder betrieben wurde, weil im Anhang einer Mail nur datei-name.jpg zu sehen ist, falls in den Ordneroptionen "Erweiterungen bei bekannten Dateitypen ausblenden" eingestellt ist und die eigentliche Endung .exe somit nicht angezeigt wird, würde ich es verständlich finden, wenn Punkte aus einem Dateinamen von einem Upload-Script entfernt werden.

    Ich meine, zumindest hatte ich gelesen, dass auf diese Weise in der Vergangenheit bereits erfolgreich Malware an den Mann gebracht worden sein soll. Bezog sich nicht auf WP oder so, sondern auf die Infizierung von Rechnern.

    Ob WP es macht oder nicht, dass weiß ich nicht, deshalb hatte ich ja einige Antworten zuvor danach gefragt. Der Mime-Typ wird ja wohl ohnehin überprüft, wodurch die Angelegenheit halbwegs sicher wird.