Beiträge von Melewo

    Mit den ganzen Tipps sind Einsteiger eh überfordert, wie ich meine.

    Für diesen Passwortschutz per htaccess konnte ich mich bisher nicht begeistern, da ich kaum Lust habe, einmal ein Passwort einzugeben, geschweige denn eine doppelte Anmeldung durchzuführen. Aus diesem Grund habe ich lieber meine wp-login.php umbenannt und übergebe zusätzlich ein weiteres Parameter-Werte-Paar im QueryString, welches zuerst überprüft wird, bevor sich die neue login-Seite öffnet.

    Wird das nicht richtig ausgeführt, wozu einige Änderungen in unterschiedlichen Dateien erforderlich sind, sperrt man sich entweder selbst aus oder die neue Adresse der Seite ist sehr schnell auslesbar.
    Bei ein paar anderen Dingen bin ich noch am Überlegen, was ich noch verbessern ließe, allerdings ist der Blog dann irgendwann so verändert, dass sich nichts mehr oder nur noch unter erheblichen Aufwand auf eine neuere Version aktualisieren ließe.

    So lange sich bei mir nichts auf dem Rechner einnistet, sollte das eigentlich recht sicher sein und den Tipp den ich Einsteigern geben würde, haltet Euren Rechner sauber. Ich habe unabhängig von WordPress schon einiges über gehackte Seiten gelesen, richtigen Angriffen sind dabei oftmals nur größere Seiten ausgesetzt.
    Bei allen anderen kommt ab und an mal ein Bot vorbei, klopft bekannte Schwachstellen ab und verschwindet wieder. Hacker wollen Geld verdienen und sich nicht damit die Zeit vertrödeln, unbedeutende Webseiten zu hacken. Das ist weniger Sport von Kids und Jugendlichen, das ist mehr ein knallhartes Geschäft.
    Wurden unbedeutende Seiten dann trotzdem gehackt, war zumindest in einem Teil der Fälle der eigene Computer verseucht. Zumindest lässt sich aus den Berichten in unterschiedlichen Foren darauf schließen. War nur meine Meinung, richtige Statistiken kenne ich nicht, vielleicht sehen die ganz anders aus.

    Also, bei Twenty Twelve 3.5.2 und 3.6 ist diese Zeile mit #000 bei mir enthalten. Bei 3.5.2 in Zeile 1484 und bei 3.6 in Zeile 1499. Das allein wäre aber noch kein Grund. Doch einfach mal einen Link mit der Maus markieren und Dir dann die verwendeten Style und Klassen anzeigen lassen.

    Im Firefox -> Extras -> Web-Entwickler->Inspektor
    Im IE -> Extras ->F12 Entwicklertools -> durch den Dokumentenbaum klicken
    Im Chrome -> Tools -> Entwicklertools ->Elements -> durch den Dokumentenbaum klicken

    Die Browser finden die verwendeten Klassen und am liebsten arbeitete ich dabei mit dem FF, da auch gleich mal nur zum Test die Styles im Sandkasten verändert werden können, ohne wirklich etwas zu verändern. Mit dem Chrome oder anderen Browsern sollte es wohl auch gehen, doch da ich die seltener nutze, weiß ich jetzt nicht genau wie.

    Ich erhalte diese Info. Soll ich noch etwas rauslesen?


    Das mit PHP war nur eine Frage, um zu sehen ob PHP läuft, weil doch da auf den Seiten des Anbieters nicht zu erkennen ist, was die Webpakete enthalten. Zumindest habe ich da nichts gefunden.

    Deshalb bräuchte ich die richtige Adresse.


    Die Adresse kann bzw. sollte keiner außer Dir kennen. Die erhältst Du von Deinem Hoster und die solltest Du so geheim wie möglich halten. Wenn Du keine Zugangsdaten für eine Datenbank erhalten hast, auch keine über Deinen Account anlegen kannst, dann wirst Du wohl keine haben.

    Ich kann Dir jetzt keine umfassende Analyse anbieten, doch allein wenn ich mir den Quelltext betrachte und sehe, was da im Head eingebunden ist. 6 x CSS-Dateien und 16 x JavaScript-Dateien. Im Footer kommen weitere 6 bis 7 JS-Dateien hinzu. Drei von den JS-Dateien habe ich geöffnet, die enthielten auf dem ersten Blick nicht mehr, als was man nicht auch in eine Datei hätte schreiben können.

    Außer was direkt das jQuery-Framework betrifft und die JS, die auf entfernten Servern liegen, würde ich alle anderen eventuell nur in ein bis zwei Dateien zusammenführen. Und schon brauchte der Browser 20 Dateien oder mehr weniger vom Server anzufordern.

    Dann 8 oder 9 große Bilder für den Slider, die Bilder bis zu über 300 kB groß und alle direkt im Quelltext notiert. Sieht toll aus, doch es gab auch einmal Modem-Zeiten, wo die ganze Startseite nicht größer als 50 bis 100 kB sein sollte. Nun gut, ohne etwas mehr geht es heute nicht mehr ab, doch man kann es auch übertreiben.

    Ich habe schon Tutorials gesehen, wo Grafiken für Slider vorgeladen wurden, damit die möglichst reibungslos arbeiten. Vorladen ja, aber erst nach onload, also nach dem das Fenster fertig geladen ist und somit eigentlich nachladen. Denke hier ist es ganz gut erklärt an Hand von Beispielen:

    http://www.mediaevent.de/javascript/lib-jquery-Events.html

    Nur hätte mich das als absoluter Neuling eher alles abgeschreckt, statt ermutigt, mich damit auseinander zusetzen bzw. ich hätte vor einem scheinbar undurchdringlichen Dickicht gestanden.

    Edit: Ich möchte Deine Login-Seite hier nicht verlinken, doch wenn ich die über Deine Subdomain aufrufe, dann wird die auch angezeigt. Über eine Frame-Weiterleitung geht das hingegen nicht oder zumindest nicht so wie von Dir erwartet.

    Ich habe mir mal die HTTP-Header angesehen, aus denen werde ich nicht schlau, kenne aber vieles auch nicht. Was bedeuten Angaben wie

    X-UD-Host: ...
    X-UD-Method: frame

    und die dritte Angabe lasse ich jetzt mal lieber weg. Soll das heißen, Du benutzt eigentlich irgendeine Subdomain und hast dann nur eine Frame-Weiterleitung und hast nur auf den Frame eine Domain aufschalten lassen? Könnte sein, dass es damit dann nichts wird.

    Da mir so etwas wie was formateins schrieb ab und an keine Ruhe lässt, habe ich gestern noch bis des Nachts gegen 03.00 Uhr gesucht und getestet, bin aber erst heute fertig geworden. Getestet wurde die Übergabe von Links sowohl mit als auch ohne QueryString mit Links nach folgendem Muster, wobei beide Schreibweisen nun funktionieren:

    HTML
    <a href="http://www.example.net/zwischenseite/?zielurl=www.example.com/irgend-etwas.html">Link mit ?</a>
    <a href="http://www.example.net/zwischenseite/?zielurl=www.example.com/">Link mit ?</a>
    <a href="http://www.example.net/zwischenseite/www.example.com/irgend-etwas.html">Link ohne ?</a>
    <a href="http://www.example.net/zwischenseite/www.example.com/">Link ohne ?</a>

    Als problematisch erwies es sich für die Rewrite-Regeln, wenn im Wert ein / Schrägstrich enthalten ist. In diesen Fällen finde ich es bisher einfacher, den zu Wert zu splitten und auf zwei Parameter aufzuteilen.

    Auf eine Überprüfung mit in_array würde ich nicht verzichten, da sonst jeder beinahe jeden beliebigen Link übergeben kann. Nur dass jetzt beide Schreibweisen im Array notiert werden müssen, also mit und ohne abschließenden Slash, finde ich noch nicht berauschend. Werde da noch einmal gelegentlich schauen, ob sich das besser regeln lässt.

    Bei der Übergabe ohne sichtbaren QueryString werden die Werte bereits durch die Rewrite-Regeln auf erlaubte Zeichen gefiltert. Wie es sich bei der Übergabe mit ?QueryString verhält, habe ich noch nicht richtig getestet. Bin eigentlich dafür, dass alles rausfliegt, was da nicht hineingehört, somit lasse ich die RegEx mit preg_replace erst einmal drinne, zumindest bis ich es vielleicht irgendwann einmal besser wissen sollte.

    Mit index.php?name=zwischenseite bin ich mir ebenfalls nicht sicher, bei mir funktioniert es nur so, doch das könnte wohl von den Einstellungen abhängig sein, ob statt name ein anderer Parameter gewählt werden müsste.

    Ich lerne eigentlich ganz gern dazu. Einzig sich erst einmal durch verwendbare WP Funktionen, APIs und Methoden durchwurschteln, was mit bekannten PHP-Funktionen in Minuten erledigt ist, finde ich ab und an weniger berauschend. Nach der ersten Stunde sah es mal wieder bei Stack Overflow für den ersten Teil vielversprechend aus.

    Nach Überprüfung ob der Key in $querydata zur Verfügung steht, füllt man ihn mit den entsprechenden Daten. Verifizierung über $wp->query_vars.


    Beim mittleren Teil bin ich über einen Thread von Dir gestolpert, der zumindest nicht allzu prall mit hilfreichen Antworten von anderen Usern gefüllt zu sein scheint.

    http://forum.wpde.org/plugins-und-wi…write_rule.html

    Aber danke, sonst wüsste ich augenblicklich noch weniger. Nur, soweit ich das bisher verstanden habe (wobei ich nicht allzu viel richtig verstanden haben muss), geht es dann nicht mehr mit einer einfachen Lösung ab, sondern würde in einem mehr oder weniger ausgereiften Plugin münden.

    So ist die Sache schon ein wenig sicherer, beim ersten QueryString wird ein Link zur Zielseite auf der Zwischenseite ausgegeben, beim zweiten nicht, da nicht im Array enthalten.

    "http://www.example.com/zwischenseite/…gend-etwas.html"
    "http://www.example.com/zwischenseite/…sige-seite.html"


    Dass mir hier localhost/wordp neu/ durchrutscht bei der letzten Antwort, war zumindest nicht beabsichtig. Habe wohl genug gespielt für heute.

    Edit: Habe mir gerade überlegt, ich würde es so nicht machen, denn andere sehen Deine GET-Parameter ebenfalls und könnten nun ihre eigenen Links auf Deiner Zwischenseite anbieten, in dem Sie diese als Wert mit dem QueryString übergeben. Beispiel:

    "http://localhost/wordpneu/zwisc…sige-seite.html"

    Somit genügt die Prüfung mit isset und empty und die Filterung mit preg_replace noch nicht, zusätzlich müsstest Du noch alle Deine zu übergebenen Zielseiten in ein Array aufnehmen und erst prüfen, ob sich die Zielseite im Array befindet.

    Mal auf die Schnelle probiert, unter Localhost hat es funktioniert, im Web möchte ich es nicht testen.

    Du verlinkst von jeder beliebigen Seite mit welchen Links auch immer auf die /zwischenseite/ und übergibst dabei die eigentliche Zielseite mit dem Parameter 'zielseite'. Ein Beispiel wie der Link auf der abgehenden Seite, der auf die Zwischenseite verweist, aussehen sollte:

    HTML
    <a href="http://www.example.net/zwischenseite/?zielseite=www.example.com/irgend-etwas.html">Ein Link</a>

    Damit das funktioniert, müsstest Du noch ein kleines Plugin aktivieren, welches Du in der Zwischenseite mit Short-Code einfügen kannst.


    Und denke daran, jede Übergabe kann zu einer Schwachstelle werden, wenn nicht genügend abgesichert und gefiltert.

    Dass es zu Problemen bei Verwendung von FileZilla kam, darüber hatte ich vor längerer Zeit in anderen Foren gelesen. Setzt jedoch voraus, dass der Rechner bereits befallen ist. Den Rechner sauber halten, ist ohnehin wichtiger, nur ob es gelingt, ist eine andere Frage.

    Was ich in den letzten Wochen mitgeschnitten habe, sind lediglich Zugriffe von irgendwelchen Bots, die nach Dateien suchen, die register, signup, login, member oder join im Pfad enthalten. Denke mir, dass die aber relativ harmlos sind, nur nach Login-Seiten suchen, also nur anklopfen ob erreichbar und wenn die keine finden, wieder verschwinden. Da ich meine umbenannt habe, sollte die für Bots eigentlich kaum zu finden sein.

    Nicht bei WP, doch bei anderen Seiten hatte ich zuweilen tausende Aufrufe im Sekundentakt, die über die Request-Methode PROPFIND etwas erreichen wollten. Dass einzige, was erreicht wurde, die Statistiken wurden unbrauchbar. Ärgerlich war es dennoch, doch da genügen zwei Zeilen in der htaccess und seither ist so ziemlich Ruhe mit PROPFIND.

    Apache Configuration
    RewriteCond %{REQUEST_METHOD} !^(GET|POST|HEAD)$ [NC]
    RewriteRule .* - [F,NS,L]

    Einige andere Zugriffe lassen sich ebenfalls über die htaccess ausschließen, doch sollte es sich für die meisten einfacher umsetzen lassen, ein entsprechendes Plugin zu benutzen.

    Warum als PHP-Script?
    Wenn das nur für User sein soll und das Ergebnis nicht gespeichert werden muss, sollte doch JavaScript eventuell die bessere Lösung sein. Weiß nicht, was es alles an Plugins gibt und habe jetzt auch nicht lange nach einem Script gesucht. Die Rechner sind ja leicht unterschiedlich. Hättest Du eine Formel oder Tabellenwerte, die mit einer Formel umgerechnet werden können?

    Gehe ich richtig in der Annahme, dass Deine virtuellen Hosts namensbasiert sind? Dann sollte es nach meinen Vorstellungen genügen nur die gewünschte Datenbank anzugeben. Die Domain ist doch nur eine andere, nicht die DB oder die Verbindung zur DB. Oder verstehe ich da gerade etwas falsch?

    Und PHP-Scripts laufen ansonsten? Falls Du es nicht genau weißt, so lade doch einfach mal eine kleine Info-Datei hoch, die weiter nichts als

    PHP
    <?php
    phpinfo();
    ?>


    enthält. Rufe die auf und dann weißt Du wenigstens, ob PHP zur Verfügung steht und unter welcher Version.

    Das scheint sogar ohne !important zu halten, kannst Du aber im Zweifel mit !important belassen. Wichtig ist ja nur word-wrap auf normal zu setzen, damit kein ungewollter Umbruch erfolgt.

    Nur frage ich mich, warum das bei mir bisher nicht ärgerte.

    So, nun hat es mir gereicht, soll heißen, es hat mir keine Ruhe gelassen und ich habe mir Deine eine Seite (Theme Twenty Thirteen) mit Beispiel-Code 13. als HTML-Seite abgespeichert, zusammen mit der CSS. Und wenn ich die Vererbung von word-wrap mit !important überschreibe, dann wird das Listing 13. Sauber und ordentlich im FF, Chrome und IE angezeigt, der Scrollbalken bildet sich und alles wird so dargestellt, wie man es von einem ordentlichen Listing erwartet.

    Wenn Du das so abänderst, dann funktioniert das auch, zumindest bei mir unter Localhost.