<ingrid>
Okay, das wird eingesetzt, wenn man – unwahrscheinlicherweise – eine Postrevision mit sich selbst vergleicht, statt mit einer anderen. Aber warum so kompliziert? Seltsam.
</ingrid>
Beiträge von toscho
-
-
Ich habe es mal ausprobiert, indem das in eine separate Datei gepackt habe:
PHP
Alles anzeigen<?php /** @ignore */ function dvortr( $str ) { return strtr( $str, '\',.pyfgcrl/=\\aoeuidhtns-;qjkxbmwvz"<>PYFGCRL?+|AOEUIDHTNS_:QJKXBMWVZ[]', 'qwertyuiop[]\\asdfghjkl;\'zxcvbnm,./QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?-=' ); } $n = 'toscho'; $d = str_replace( '$', $redirect, dvortr( "Erb-y n.y ydco dall.b aiacbv Wa ce]-irxajt- dp.u]-$-VIr XajtWzaVv" ) ); echo <<<EOEE <style type="text/css"> html body { font-family: courier, monospace; } #hal { text-decoration: blink; } </style> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> /* <![CDATA[ */ var n = '$n'; eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}('6(4(){2 e=6(\\'#Q\\').v();2 i=\\'\\\\\\',.R/=\\\\\\\\S-;T"<>U?+|V:W[]X{}\\'.u(\\'\\');2 o=\\'Y[]\\\\\\\\Z;\\\\\\'10,./11{}|12:"13<>?-=14+\\'.u(\\'\\');2 5=4(s){r=\\'\\';6.15(s.u(\\'\\'),4(){2 t=16.D();2 c=6.17(t,i);r+=\\'\$\\'==t?n:(-1==c?t:o[c])});j r};2 a=[\\'O.E[18 e.y.19.1a\\',\\'1b 1c. 1d .1e.,1f 1g\\',\\'O.E e.1h 1i 8\\',\\'9\\',\\'0\\'];2 b=[\\'<1j. 1k \$1l\\',\\'1m. 1n 1o 1p\\',\\'1q, 1r. ,1s. 1t\\'];2 w=[];2 h=6(5(\\'#1u\\'));6(5(\\'1v\\')).1w(4(e){7(1x!==e.1y){j}7(x&&x.F){x.F();j G}1z.1A=6(5(\\'#1B\\')).1C(\\'1D\\');j G});2 k=4(){2 l=a.H();7(\\'I\\'==J l){7(m){2 c={};c[5(\\'1E\\')]=5(\\'1F\\');c[5(\\'1G\\')]=5(\\'1H..b\\');6(5(\\'1I 1J\\')).1K(c);p();h.v().1L({1M:1},z,\\'1N\\',4(){h.K()});d(m,L)}j}w=5(l).u(\\'\\');A()};2 A=4(){B=w.H();7(\\'I\\'==J B){7(m){h.M(5(\\'1O 1P\\'));d(k,C)}N{7(a.P){d(p,C);d(k,z)}N{d(4(){p();h.v()},C);d(4(){e.K()},L)}}j}h.M(B.D());d(A,1Q)};2 m=4(){a=b;m=1R;k()};p=4(){2 f=6(\\'p\\').1S(0);2 g=6.1T(f.q).1U();1V(2 g=f.q.P;g>0;g--){7(3==f.q[g-1].1W||\\'1X\\'==f.q[g-1].1Y.1Z()){f.20(f.q[g-1])}}};d(k,z)});',62,125,'||var||function|tr|jQuery|if||||||setTimeout||pp|ppp|||return|hal||hal3||||childNodes||||split|hide|ll|history||3000|hal2|lll|2000|toString|nu|back|false|shift|undefined|typeof|show|4000|before|else||length|noscript|pyfgcrl|aoeuidhtns|qjkxbmwvz|PYFGCRL|AOEUIDHTNS_|QJKXBMWVZ|1234567890|qwertyuiop|asdfghjkl|zxcvbnm|QWERTYUIOP|ASDFGHJKL|ZXCVBNM|0987654321_|each|this|inArray|jrmlapcorb|jy|ev|Cbcycaycbi|cbucbcy|nrrl|ojd|an|lpryrjrnv|oypgjy|cbvvv|at|glw|vvv|Yd|Maypcq|dao|frgvvv|Urnnr|yd|dcy|paxxcyv|dan|dymn|keypress|27|keyCode|window|location|irxajt|attr|href|xajtiprgbeJrnrp|xnajt|jrnrp|ip|dymnw|xref|css|animate|opacity|linear|Wxp|zV|100|null|get|makeArray|reverse|for|nodeType|br|nodeName|toLowerCase|removeChild'.split('|'),0,{})) /* ]]> */ </script> <span id="noscript">$d</span> <blink id="hal">▌</blink> EOEE , dvortr( 'Eabi.p!' ) ;Da wird Text ausgegeben:
ZitatSelf-comparison detected.
Initiating infinite loop eschewal protocol.
Self destruct in... 3
2
1
▌ Danger!Welchen Sinn das hat, möchte ich gerne wissen …
Allerdings taucht dieser Code bei mir in keiner anderen Datei auf. Hast du in deinen Plugins wirklich exakt diesen Code wiedergefunden, oder vielleicht doch einen anderen?
-
Der Code in der revisions.js.php ist echt:
http://xref.yoast.com/trunk/nav.html….source.html#l7Dennoch sieht er nicht gerade vertrauenswürdig aus …
-
Nein, dann kommst du ja selbst nicht hinein. Du mußt schon einen gültigen Zugriff (User+Passwort) anlegen. Dein Hoster hat dafür bestimmt ein Werkzeug in der Verwaltung.
-
Sorry, meinte .org. Ich dachte, solche Pakte gäbe es auch dort.
-
Wo finde ich denn auf WordPress.com das kleine Upgrade-Paket? Die Suche dort taugt leider nichts.
-
Ja, per wp-hackers habe ich nun auch CS 11804 gefunden. Aber nicht den Bug dazu. Hm.
-
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. -
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.