Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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 :)

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).

  • Autor

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

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.

  • Autor

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

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.