Problem mit eval

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit eval

    Hallo,

    ich habe ein Problem mit eval und komme einfach nicht weiter...

    In dieser Zeile:

    PHP-Code:
    eval("\$code = \"$code\";"); 
    kommt folgende Fehlermeldung:

    PHP-Code:
    Parse errorsyntax errorunexpected '<' in
     
    /home/httpd/html/example/example/multi/frontend.php(136) : eval()'d
     code on line 2 
    Aber da kann ich keinen Fehler entdecken... soll das vielleicht ein Fehler in der Variable $code sein? Also die Zahl 2 bedeutet dann die 2 Zeile der Variable $code?

  • #2
    was steht in $code?
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Wahrscheinlich irgendwas mit Double-Quotes. Und eval benutzen stinkt!
      [FONT="Helvetica"]twitter.com/unset[/FONT]

      Shitstorm Podcast – Wöchentliches Auskotzen

      Kommentar


      • #4
        ich riechs auch grade...
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          eval ist das Problem. Verwende es nicht.

          Kommentar


          • #6
            Danke für die Antworten... was soll ich sonst verwenden? Habe PHP in einer Datenbanktabelle stehen, der ausgeführt werden muss...

            Kommentar


            • #7
              Warum hast du php in einer Datenbanktabelle stehen?

              Du hast ihn ja sicherlich nicht selber dareingeschrieben. Du hättest den php-code sicherlich in einer Datei gespeichert.

              Also können es ja eigentlich nur irgendwelche user sein, die den Code also in die Datenbank geschrieben haben.

              Also erlaubst du den Usern, Code einfach so, ungeprüft auszuführen und gibst ihnen so die Chance, dein System anzugreifen.....
              signed oder unsigned... das ist hier die Frage

              Kommentar


              • #8
                Der PHP Code wird in einer Tabelle gespeichert, da es Module aus einem CMS namens Contenido sind.

                Die User können keinen Schaden anrichten, da nur ich darauf Zugriff habe...

                Aber das ist ja eigentlich auch keine Antwort auf meine Frage... trotzdem oben die Info...

                Was kann ich statt eval verwenden?

                Danke!

                Kommentar


                • #9
                  Wenn du Daten nur in der Tabelle gespeichert sind, bleibt dir auch nur eval().

                  Wenn du ddie Sonderzeichen in $code entsprechend escapest, dann sollte eval auch kein Problem haben die zu parsen.

                  Kommentar


                  • #10
                    Nicht viel mehr. Aber das ist ein Designfehler deiner Anwendung, wenn PHP-Code für Module in der Datenbank liegen. Sourcecode kommt in Dateien, lediglich Informationen über das Module kommen in die Datenbank.

                    Kommentar


                    • #11
                      OffTopic:
                      Ich meine mich zu erinnern, dass contenido nunmal so aufgebaut ist. Wirklich schlecht ist das System allerdings nicht.

                      Kommentar

                      Lädt...
                      X