Anzeige:
Ergebnis 1 bis 8 von 8

Thema: PHP eingabe sperren

  1. #1
    Registrierter Benutzer Avatar von maik15
    Registriert seit
    23.08.2004
    Ort
    weit weg
    Beiträge
    215

    PHP eingabe sperren

    Hi!

    Jmd hat in meinem simplen Gästebuch folgendes eingegeben:
    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
    echo \
    "<pre>\\n\";
    print_r(
    $_GET);    // einfache Ausgabe
    var_dump(
    $_GET);   // ausführliche Ausgabe.
    echo \"</pre>\\n\";
    ?>
    und
    PHP-Code:
    <?php
    counter 
    0;
    do{
    echo \
    "Noobieguestbook\";
    counter = counter +1;
    }
    while(counter < 10000);
    ?>
    Nun dachte ich mir, man könnte ja kontrollieren lassen, ob ein <?php und ?> bzw <? und ?> eingegeben wurde.
    Wie mache ich das?
    Gibts da bessere lösungen?

    Gruß
    Maik

    PS: Gibts irgeneine Funktion, die diesen PC "ausspieonieren" kann (IP, PC Name oder so), damit ich den das nächste mal wiederfinde?
    Will ja nicht persönliche daten, nur irgendwas, womit ich den im Netz wieder finde...

  2. #2
    Registrierter Benutzer Avatar von maik15
    Registriert seit
    23.08.2004
    Ort
    weit weg
    Beiträge
    215
    Habe es gerade schnell mit
    PHP-Code:
    <?php
    $message 
    str_replace('<?php'"!!!kein php erlaubt!!!"$message);
    $message str_replace('<?'"!!!kein php erlaubt!!!"$message);
    $message str_replace('?>'"!!!kein php erlaubt!!!"$message);
    ?>
    gesperrt, reicht das???

    Maik

  3. #3
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638
    Wenn Du mit Funktionen wie addslashes(), stripslashes(), htmlspecialchars() usw. arbeitest, dann kann Dir das alles egal sein. Denn dann werden die Daten einfach entgegengenommen und genauso wieder ausgegeben.

    Pingu
    Homepage: www.pingu.info

  4. #4
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    Alles was von draußen kommt grundsätzlich escapen. Schlimmer wäre es, wenn er sowas eingibt:

    '; DROP DATABASE;

    Deswegen:
    mySQL_escape_string bzw. addslashes verwenden. Was allerdings am <?PHP schlimm sein soll, weiß ich net so recht. Der Code kann eigentlich nicht zur Ausführung kommen, da es ja ein ganz normales String-Literal ist und einfach so ausgegeben wird.
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  5. #5
    Registrierter Benutzer Avatar von BlueJay
    Registriert seit
    27.08.2004
    Beiträge
    825
    Da das Gästebuch wohl selbstgestrickt ist:

    Wird die Zeit bei den Einträgen mitgespeichert?
    Dann ist es ein Leichtes, den Eintrag wiederzufinden.

    Du hast dann die IP, den Browser, mit viel Glück eine Maschinenkennung.
    IPs wechseln, und wenn die Maschine in einem Schulungsraum steht...

    so long,
    BlueJay
    Eigentlich ganz einfach, wenn man's weiss!

  6. #6
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    strip_tags Löst alle deine Probleme
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  7. #7
    Registrierter Benutzer Avatar von BLUESCREEN3D
    Registriert seit
    08.11.2002
    Beiträge
    665
    Zitat Zitat von Turbohummel
    Was allerdings am <?PHP schlimm sein soll, weiß ich net so recht. Der Code kann eigentlich nicht zur Ausführung kommen, da es ja ein ganz normales String-Literal ist und einfach so ausgegeben wird.
    Genau das frage ich mich gerade auch...

    Damit das ausgeführt wird muss das ja z.B. in eine Datei geschrieben werden, die dann bei der Anzeige wieder eingebunden und damit ausgeführt wird O.o

    @maik15: Kannst du mal erklären, wie genau du die Daten nach der Eingabe speicherst und wie sie wieder angezeigt werden?

    Ansonsten würde ich htmlentities() statt htmlspecialchars() benutzen, weil das noch etwas mehr umwandelt.

  8. #8
    Registrierter Benutzer Avatar von maik15
    Registriert seit
    23.08.2004
    Ort
    weit weg
    Beiträge
    215
    Hi!
    Ich speicher die daten momentan ganz einfach in einer txt...
    die einzelnen strings werden in eine tabelle eingebunden und gespeichert.
    sprich so:
    Code:
    <table>
      <tr>
        <td><?php echo $Daten 1; ?></td>
      </tr>
      ...
    </table>
    Und so weiter...
    also für jeden eintrag eine neue Tabelle.
    Oder wars bloß ein neues "tr"?! egal

    Habe es jetzt mit "strip_tags" gelöst und es geht!

    Vielen Dank

    Maik

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •