Beiträge von The User

    Ich finde das ist ganz einfach:
    1. Auf Seite 2 schaut man sowieso nicht
    2. Keine Antwort: Ungelöst
    3. Mehrere Antworten: Gelöst
    4. Ein Antwort von anderem User: Gelöst
    5. Eine Antwort vom Thread-Ersteller, naja, dann muss man drauf klicken
    Natürlich gilt das erst bei ein paar Tage alten Threads, bei neueren ist das egal.

    Hui, was machen die denn da. Von der Syntax habe ich ja noch nie gehört.
    Also ich sag mal so: Du weißt doch, welche Version dein Wordpress hat. Damit ist diese Abfrage doch überflüssig. Das falsche wegstreichen und du hast fertig.

    Aber sag mal:
    Wie wollen ohne einen Beitrag Kommentare abgegeben werden? Wo sollten diese angezeigt werden?
    Schau in die Datenbank, ob es theoretisch möglich ist, Kommentare ohne Beiträge zu erstellen, es müsste dafür irgendwie möglich sein, festzulegen, auf welche Tabelle sich der Kommentar bezieht. (so wirds bei mir gemacht *g*)
    Ansonsten auch mal nach fertigen Addons Ausschau halten.

    Viele liebe Grüße
    The User

    Selbst wenn du nicht an den Original-Quelltext rankommen würdest:
    Wer will das schon? Wenn du die DOM-Struktur raus kopierst hast du gleich recht sauber validiertes HTML. :D
    Dennoch ist es für alle besser, wenn sie den Quelltext direkt betrachten können.

    Zu 1:
    Einfacher ist es, die Funktion in der .htaccess zu deaktivieren:

    Code
    php_flag register_globals off

    Zu 2:
    Cookies können sehr wichtig sein, z.B. die Session-ID. Wenn ein anderer Server über XSS daran kommt, kann jemand, der diese Daten erhält, sich bei der Seite unter dem Namen des anderen einloggen.
    Vorsichtshalber:
    -Eine Variable $_SESSION['ip'] setzen und überprüfen, ob nicht eine andere IP zugreift. Wenn jemand wirklich von zwei Rechnern zugreifen will, kann man ja eine kleine Checkbox einbauen, um die Überprüfung zu deaktivieren. (so wird es auf Heise gemacht)
    -Bei wichtigen Operationen (z.B. Änderung des Passwortes/der Email-Adresse oder auch dem Löschen von Daten (wenn es eher selten vorkommt oder großflächig ist)) lieber noch einmal nach dem Passwort fragen.

    Zu 4:
    Es gibt auch zwei ganz einfache Vorkehrungen, die helfen:
    -.. herauswerfen oder auflösen. Bei '../../../../etc/passwd' fällt beispielsweise auf, dass das Verzeichnis komplett verlassen werden soll. Dann einfach einen Standard-Wert nehmen oder 404 ausgeben.
    -Mit file_exists überprüfen und somit dem Besucher Fehlermeldungen ersparen.

    Zu 5:
    Bei diesen Befehlen gilt eigentlich das selbe wie bei SQL-Injection, es liegt ja auch eine Code-Injection vor: Entweder die Nutzerdaten escapen, z.B. bei Kommandozeilen-Parametern. Dabei müssen " ", ' ' und insbesondere auch ` ` escaped werden. Außerdem sind auch andere Übertragungs-Möglichkeiten vorhanden:
    -Standard-Eingabe (mit popen oder proc_open)
    -Datei als Zwischenspeicher
    -Shared Memory
    Die normalen Anwendungsgebiete von eval lassen sich auch durch normalen PHP-Code abdecken, z. B. statt eval('$x = new ' . $classname . '(123);') geht auch $x = new $classname(123). Komplexere eval-Gebilde sind meist sehr langsam, da sie jedes Mal neu geparsed werden müssen und Optimierungen kaum möglich sind. eval sollte also praktisch nie verwendet werden.

    Viele liebe Grüße
    The User

    Das war aber eine asoziale Seite...

    Oh nein! Was machen wir bloß bei einer Rechts-Klick-Sperre?
    Ansicht -> Quelltext anzeigen?
    Ansicht -> Vorschau in erweiterter Editor-Komponente? (Im Konqueror)
    Firebug? (Im Firefox)
    DOM Viewer? (Im Konqueror)
    Mit wget herunterladen?
    Javascript deaktivieren?

    Selbst wenn man darauf hofft, damit einige IE-User abzuhalten, schadet man damit auch der Usability. Das Kontextmenü kann nämlich noch etwas mehr als den Quelltext anzeigen zu lassen.

    In der Datei <string> gibt es eine Funktion std::getline, die die Verwendung eines C-Strings obsolet macht. :D
    Ich würde dann auch ganz auf diese verzichten in deinem Programm. Es sind zwar viele Daten, aber im GB-Bereich bist du noch nicht, wo irgendwelche speziellen Optimierungen eine Rolle spielen würden.