kostenloser Webspace werbefrei: lima-city


PHP aus MySQL Datenbank ausführen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    lugaborg

    Kostenloser Webspace von lugaborg, auf Homepage erstellen warten

    lugaborg hat kostenlosen Webspace.

    Tag auch, nach längerer Zeit melde ich mit neuen problemen zurück ;D Wobei es diesmal deutlich besser funktioniert.

    Ich bin gerade dabei Seiten wie zB das Gästebuch aus einer Datenbank zu laden, der gesamt inhalt in einer Variable (
    $result = mysql_query("SELECT id,title,keywords,content FROM content WHERE id = '2'");
    if (!$result) {
        echo 'Abfrage konnte nicht ausgeführt werden: ' . mysql_error();
        exit;
    }
    
    $row = mysql_fetch_row($result);
    
    
    $title = $row[1];
    $keywords = $row[2];
    $content = $row[3];

    )
    Allerdings wird nun der PHP Code als solches ausgegeben, eval funktioniert nicht, eben so macht es keinen unterscjhied ob ich es aus einer Datei lade (
    $content = file_get_contents($_SERVER['DOCUMENT_ROOT']."/includes/gbooka.php");

    )

    Wie also sonst funktioniert das? (Wenn alle Fäden reißen kann ich es auch auf herkömliche Art machen ...)

    Beitrag zuletzt geändert: 6.9.2010 19:24:43 von lugaborg
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Sind die Daten, wenn sie in die Datenbank geschrieben werden, escaped worden? Weil dann wird &lt; statt < gespeichert, beim auslesen der DB-Daten kommt also nur der Zeichencode zurück, nicht das eigentliche Zeichen.

    Auf die schnelle würde mir jetzt htmlentities() einfallen, was du mal testen könntest. Das wandelt alle geeigneten Zeichen wieder um.

    Beitrag zuletzt geändert: 6.9.2010 19:36:11 von vertico
  4. Könntest du dir bitte etwas mehr Code entlocken lassen? Ich sehe in dem Code, den du gepostet hast, weder eine Ausgabe, noch die eval()-Funktion. Generell sollte es genug Möglichkeiten geben, wie man in diesem Fall ohne eval() auskommt, da es immer ein hohes Sicherheitsrisiko birgt. Hier ist es speziell so: Errät jemand die Zugangsdaten deiner Datenbank, hat er automatisch die volle Macht über dein Webspace, also absolute Narrenfreiheit. Besonders als Anfänge sollte auf die Vermeidung dieser Funktion äußerst Wert gelegt werden. Lass' das bitte und denke dir einen neuen Weg aus, oder jeder, der halbwegs PHP kann und irgendwann mal was von einer SQL-Injection gehört hat, ist binnen weniger als 2 Minuten der neue Cheffe auf deinem Webspace.
  5. Autor dieses Themas

    lugaborg

    Kostenloser Webspace von lugaborg, auf Homepage erstellen warten

    lugaborg hat kostenlosen Webspace.

    vertico schrieb:
    Sind die Daten, wenn sie in die Datenbank geschrieben werden, escaped worden? Weil dann wird &lt; statt < gespeichert, beim auslesen der DB-Daten kommt also nur der Zeichencode zurück, nicht das eigentliche Zeichen.

    Auf die schnelle würde mir jetzt htmlentities() einfallen, was du mal testen könntest. Das wandelt alle geeigneten Zeichen wieder um.


    Daten sind direkt eingetragen und enthalten noch die <>, HTML Code wird auch weiterhin ausgeführt, nur PHP nicht.

    drafed-map schrieb: Könntest du dir bitte etwas mehr Code entlocken lassen? Ich sehe in dem Code, den du gepostet hast, weder eine Ausgabe, noch die eval()-Funktion. Generell sollte es genug Möglichkeiten geben, wie man in diesem Fall ohne eval() auskommt, da es immer ein hohes Sicherheitsrisiko birgt. Hier ist es speziell so: Errät jemand die Zugangsdaten deiner Datenbank, hat er automatisch die volle Macht über dein Webspace, also absolute Narrenfreiheit. Besonders als Anfänge sollte auf die Vermeidung dieser Funktion äußerst Wert gelegt werden. Lass' das bitte und denke dir einen neuen Weg aus, oder jeder, der halbwegs PHP kann und irgendwann mal was von einer SQL-Injection gehört hat, ist binnen weniger als 2 Minuten der neue Cheffe auf deinem Webspace.


    Viel mehr gibts nicht, eval wurde als misserfolg bereits entfernt, ich hatte es nur erwähnt damit es keiner als Lösung nennt wie alle Google ergebnisse, die Ausgabe beläuft sich auf ein include in der letzten Zeile der eine Datei nach diesem Muster einfügt:

    <deklarationstag>
    <html>
    <head>
    <title><?php echo $content; ?><title>
    </head>
    <body>
    <?php echo $content; ?>
    </body>
    </html>

    Kurz gesagt, alles was meine Seiten tun sollen ist das laden einer Datei aus der Datebnak in den jeweiligen Variablen welche im Include dann eingefügt werden.

    Meine vermutung läge noch dabei das im PHP Code eine Datei includet wird mit PHP Inhalten welcher wiederum eine variable mit PHP enthält und deshalb die letzte Ebene 'übersprungen' wird. Aber keine Ahnung wie das ändern könnte.
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!