Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

das ist nun mein erster Thread hier.

Es geht um folgendes, ich bin z.Z. am basteln einer Website für einen Kumpel, ich würde es ja sogar ganz vage ein CMS nennen :)

Es gibt eine Sidebar in welcher die Link's zu den einzelnen Inhalten vorhanden sind über die via $_GET[]; die Site-ID's an die index.php übergeben werden welche wiederum die Inhalte aus einer MySQL-DB ausliest.

Läuft bis jetzt auch alles ganz gut mein Problem ist nun das es verschiedene Kategorien gibt, wo es von Vorteil wäre wenn nicht nur ein Einfacher Text ausgegeben wird, sondern ein Komplettest Script geladen oder zumindest eine Seite via include(); eingebunden wird.

Ich habe nun gelsen das, dass mit der Funktion eval(); gehen soll, bin mir aber nicht sicher, ob das denn eine wirklich Elegante Lösung ist?

Nun wollte ich wissen ob es vielleicht noch Alternativen gibt oder ob man eval(); sorglos nutzen kann?

Grüß'le und danke für's lesen :)

Geschrieben

eval = evil

ein Include nützt nicht viel, wenn die Daten in der Datenbank stehen, außerdem würde ich auch dazu raten require / require_once zu verwenden. Falls man eval einsetzt, sollte man wissen was man tut, denn wenn der Benutzer PHP Code frei eingeben kann, kann er bei entsprechendem Scope alle Eigenschaften des bestehenden Codes modifizieren. Auch ist die Frage zu klären, was passiert, wenn in dem eval-Code Fehler auftreten, generell wäre somit dann das ganze Script nicht lauffähig. Ebenso muss auch geklärt werden, wie die PHP Daten in der Datenbank stehen (maskiert).

Geschrieben

Heho,

ein Include nützt nicht viel, wenn die Daten in der Datenbank stehen

ich meinte das eigentlich so:

eval(include(blablub.php)[/PHP]

bzw. include durch require ersetzen

und wenn es nur so eine Abfrage ist dürfte das Risiko doch minimal sein oder?

Grüße

Geschrieben

und wenn es nur so eine Abfrage ist dürfte das Risiko doch minimal sein oder?

Wenn ich z.B. via Webformular Dateien hochladen kann, dann lade ich eine PHP Datei hoch, die mir z.B. Daten aus /etc auslesen kann. Da ein eval ein Include macht und ich den PHP Code flexibel in der Datenbank hinterlegen kann, lasse ich den PHP Code auf die hochgeladene Datei verweisen und sie wird ausgeführt und liefert mir ggf Informationen. Wenn man jetzt Fehler in dem Datenbankzugriff hat (SQL-Injection) bzw. das Uploadscript die Daten nicht richtig verarbeitet, kann jeder von außen Daten lesen und ggf verändern.

Geschrieben

okay dann lass ich das lieber :)

ich werd's jetzt so machen, das ich noch eine Spalte in die Tabelle mit dem Kopf "Script" und dann true oder false reinschreibe womit ich dann quasi ein flag habe welches der index.php sagt "achtung jetzt musst du datei blablub.php einbinden."

ich denke so könnt's auch klappen :)

Danke schonmal

und falls es eine elegantere Lösung gibt, immer her damit :D

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...