Bitte gehe alle Schritte in »Website gehackt – und nun?« durch. In genau dieser Reihenfolge.
Es nützt gar nichts, wenn du bloß an der Website herumflickst. Das hast du ja schon gemerkt.
Beiträge von toscho
-
-
Okay, jetzt sehe ich es. Aber wo ist der Bug dazu?
Die aktuell eingepflegte Lösung prüft nur, ob genau dieser Exploit versucht wird. Wenn man ein geschütztes Leerzeichen eingibt, wird sie vermutlich wieder versagen.
-
Ich kriege im Trac derzeit nur eine Fehlermeldung.
-
-
Ich würde aber schon zu der Variante mit den Feeds raten. Mit SimplePie erledigst du das mit wenigen Zeilen. Das kommt mit einem präzise einstellbaren Cache-System daher, belastet die anderen Blogs also nicht mit überflüssigen Queries.
Ein neues Blog dafür halte ich einfach für übertrieben.
-
Sieht alles richtig aus, und mit FF 3.5.2 kann ich das nicht reproduzieren. Vermutlich hat er etwas an seiner Konfiguration geändert, so daß gzip-kodierte Dateien jetzt den Download erzwingen.
-
Welcher der Links stammt denn nicht von dir? Das sind ja mehrere.
-
Benutze den Ansatz, den ich heute erst vorgestellt habe: Parallele Widgets.
Du kannst den Code, denn ich oben in das Template geschrieben habe, auch in der Sidebar unterbringen. -
Prüfe mit [FONT="Courier New"]get_bloginfo('language');[/FONT], welche Sprache gerade verwendet wird, und gib dann den jeweils passenden Inhalt aus.
Alternativ realisiere den Footerinhalt als Widget, das du in beiden Installationen separat befüllen kannst.
Also schreib in die [FONT="Courier New"]functions.php[/FONT]:PHPregister_sidebar( array( 'name' => 'Footer', 'before_widget' => '<div id="footer">', 'after_widget' => '</div>', 'before_title' => '', 'after_title' => '', ) );… und in die [FONT="Courier New"]footer.php[/FONT]:
In der Administration beider WordPress-Installationen packst du in den Footer dann ein Textwidget mit deinen angepaßten Inhalten.
Gruß
Thomas -
Das Problem hatte ich mit einem normalen WordPress. Die Javascripteinbindung in WordPress fällt auf der Widgetseite manchmal komplett aus.
Abhilfe brachte das Plugin Use Google Libraries.
-
Etwas weniger rabiat finde ich es, folgenden Code in die [FONT="Courier New"]functions.php[/FONT] zu schreiben:
XXXXXXXXXXXXXXXXXXGruß
Thomas
MODERATOR-NACHTRAG: Ich habe diesen Code gelöscht, da er 1. die Sicherheitslücke erkenntlich macht und 2. nicht hilft - Olaf -
Das verstieße gegen die Vertragsbedingungen mit deinem Hoster. Irgendeinen Preis mußt du für Webspace immer zahlen, Geld oder eine versaute Seite.

-
Prima.

Das L steht für leave und sagt: Verlaß den aktuellen Rewrite-Kontext. Bei einem 301 wird damit auch die Verarbeitung weiterer Regeln abgebrochen. Aber wenn du nur eine interne Umleitung setzt, die für den Besucher unsichtbar ist (wie es beispielsweise WordPress macht), dann können spätere Umleitungen durchaus noch angewendet werden. -
-
Deine RewriteRule ist ja auch kaputt. So mache ich es bei mir:
Apache ConfigurationRewriteEngine On RewriteCond %{HTTP_HOST} !^(((clients|p|labs|img|js)\.)*toscho\.de$ RewriteRule ^(.*)$ http://toscho.de/$1 [L,R=301]Die Bedingung (RewriteCond) sagt: Wenn keine gültige Subdomain vor der Zeichenkette [FONT="Courier New"]toscho.de[/FONT] im HOST steht, dann wende die folgende RewriteRule an.
Eine RewriteRule hat immer zwei Einträge: Was wird wohin geleitet?
Das Was ist hier einfach jede Anfrage [FONT="Courier New"]^(.*)$[/FONT], das Wohin muß eine vollständige URL sein. An diese wird der mit Klammern »eingefangene« Wert aus dem Was angehängt, indem man das erste (und hier einzige) Klammernpaar mit $1 referenziert, das zweite mit $2 usw.Deine Regel …
… sagt: Lenke alle Anfragen nach [FONT="Courier New"]^http://www.webwork-blog.net%%7brequest_uri}[/FONT] auf die Seite [FONT="Courier New"][L,R=301][/FONT] um.Den Rest schaffst du selber.

-
Auf meiner Website mache ich das (sehr vereinfacht) so:
PHP
Alles anzeigen<?php /** * Template Name: Home * Wird automagisch als Startseite benutzt. */ get_header(); /** * Damit das funktioniert, schreibe man eine Seite, nenne sie »Start« und * veröffentliche sie als »privat«. Sie taucht dann nirgendwo auf, kann aber * hier eingebunden werden. */ query_posts('pagename=start'); while ( have_posts() ) { the_post(); the_content('more'); } /** * Und jetzt die letzten Artikel – oder was immer man sich als Standardausgabe * eingestellt hat. */ query_posts($query_string); ?> <h2><?php /** * Die Menge der Artikel insgesamt (nicht nur der sichtbaren). */ if ( wp_count_posts()->publish > 0 ) { echo wp_count_posts()->publish; ?> Artikel</h2> <?php } if (have_posts()) : while (have_posts()) : the_post(); ?> Hier wird der normale Loop abgehandelt. <?php endwhile; ?> <?php endif; ?> <?php get_footer();Diese Datei wird als [FONT="Courier New"]home.php[/FONT] ins Theme gespeichert und dann von WordPress automagisch gefunden und passend benutzt.
-
Schreib sie ganz oben hin. Ein Test wäre schneller gegangen als dieses Post.

-
Lutz Schröer, der Autor, hat mir schon zurückgeschrieben: Er kümmert sich darum.
Bis es soweit ist, kann man sich mit dem Plugin WP Page Numbers aushelfen. Das scheint mir nach vielem Herumgestöber noch das ansprechendste zu sein. Leider ist der ausgegebene Code nicht eben schön.
[FONT="Courier New"]</ingrid>[/FONT]
-
Das Plugin Pagebar versaut die Einstellung neuerdings.
Habe den Autor schon angeschrieben.
-
Ich möchte dir schon zur ersten Variante raten. Die Unterscheidung zwischen News und Spezialartikeln ist ein Merkmal eurer Binnenstruktur, Resultat unterschiedlicher Zuständigkeiten oder »Produktionsverfahren«.
Das interessiert den Leser aber nicht.
Aufgabe eurer Website ist nicht das Abbilden der Binnenstrukturen, sondern ein möglichst einfacher Zugriff auf alle Inhalte. Den erreichst du am besten mit einer flachen Hierarchie.
Du kannst dann immer noch unterschiedliche Kategorien für unterschiedliche Themen vergeben, beispielsweise »Blitzlicht« für News, »Interna« für Texte zu Organisation usw.
Zugleich kannst du aber auch Kategorien für Typen austeilen: Bibliographie, Linkliste, Anleitung, Bericht, Galerie usw.Das hilft dem Leser, sich die Inhalte nach seinen Interessen zu erschließen, nicht nach eurer Binnenstruktur.
Hinzu kommt das schlichtere Backend – das ist ein Killerargument, wenn möglichst viele Schüler und Lehrer zum Erfolg der Website beitragen sollen.
Gruß
Thomas