Kodi: Include Variable sicher oder nicht?

Hallo Forler,

ist diese Variable [hauptverzeichnis] sicher.
Kann ich es so bedenkenlos schreiben.

$hauptverzeichnis = "./";
include("$hauptverzeichnis"."includes/login_check.php");

Gruss
Kodi

  1. ist diese Variable [hauptverzeichnis] sicher.
    Kann ich es so bedenkenlos schreiben.

    $hauptverzeichnis = "./";
    include("$hauptverzeichnis"."includes/login_check.php");

    Mal abgesehen davon, dass es völlig unnötig ist, Variablen in Anführungszeichen zu setzen: Das ist exakt das Gleiche als wenn du 'include("./includes/login_check.php");' schreiben würdest. Warum sollte eine Variable eine Zeile vorher daran etwas ändern?

    1. ist diese Variable [hauptverzeichnis] sicher.
      Kann ich es so bedenkenlos schreiben.

      $hauptverzeichnis = "./";
      include("$hauptverzeichnis"."includes/login_check.php");

      Mal abgesehen davon, dass es völlig unnötig ist, Variablen in Anführungszeichen zu setzen: Das ist exakt das Gleiche als wenn du 'include("./includes/login_check.php");' schreiben würdest. Warum sollte eine Variable eine Zeile vorher daran etwas ändern?

      Weiß auch nich so genau. Wollte nur sicher gehen.
      Nicht das man da mit $_REQUEST $_POST oder $_GET[hautpverzeichnis]
      da irgendwie was umgeht. Ja völliger Qutasch.
      Wollte nur sicher gehen.

      Vielen Dank aber...hab gleich nen besseres Gefühl.

      Kodi

      1. Hi,

        Wollte nur sicher gehen.
        Nicht das man da mit $_REQUEST $_POST oder $_GET[hautpverzeichnis]
        da irgendwie was umgeht. Ja völliger Qutasch.

        gar nicht. Abgesehen davon, dass es $_GET['hautpverzeichnis'] heißen müsste (Du solltest Dich wirklich mal mit dem Sinn von Quotes befassen), kommt es darauf an, ob register_globals auf dem Server zugelassen sind und Du die Variable auch ordnungsgemäß initialisiert hast.

        freundliche Grüße
        Ingo

        1. gar nicht. Abgesehen davon, dass es $_GET['hautpverzeichnis'] heißen
          freundliche Grüße
          Ingo

          $hauptverzeichnis = "./";
          include("$hauptverzeichnis"."includes/login_check.php");

          Warum $_GET['hautpverzeichnis']?

          Die Variable $hauptverzeichnis steht nur über dem Include damit
          es einfacher ersichtlich ist das man den Pfad dort ändert.
          Ist dafür gedacht das jemand der sich nicht gut in solchen Sachen
          auskennt, leichter versteht was er nur zu ändern hat, wenn
          er seine Seiten so schützen möchte.

          Also kann nichts passieren oder?

          Gruss
          Kodi

          1. Hi,

            Warum $_GET['hautpverzeichnis']?

            Warum immer stumpf nachfragen - warum nicht mal selber sowas grundlegendes im Handbuch nachlesen ...?

            Warum ist $foo[bar] falsch?

            MfG ChrisB

            1. Hi,

              Warum $_GET['hautpverzeichnis']?

              Warum immer stumpf nachfragen - warum nicht mal selber sowas grundlegendes im Handbuch nachlesen ...?

              Warum ist $foo[bar falsch?]

              MfG ChrisB

              Hi ChrisB,
              daraus ist mir nicht ersichtlich wonach ich gefragt hab.
              Ich frage nur weil ich sicher gehen möchte und zu dem Thema
              so nichts finde. Grundlegend ist das die Variable
              $hauptverzeichnis nun ja nicht verändert werden kann.
              Oder doch???

              $hauptverzeichnis = "./";
              include("$hauptverzeichnis"."includes/login_check.php");

              Kann doch nicht gehen oder?? Auch nicht mit $_REQUEST $_GET $_POST??
              Ich muss da nun sicher gehen auch wenn es wohl unsinn ist das ich
              da nachfrage.

              Gruss
              Kodi

              1. Hi,

                daraus ist mir nicht ersichtlich wonach ich gefragt hab.

                Ich bezog mich (bei Leuten, die *vernuenftig* Zitieren, ist das in aller Regel ganz einfach ersichtlich - also mach du das doch bitte auch, und zitiere nicht einfach alles) lediglich auf deine Frage:

                Warum $_GET['hautpverzeichnis']?

                Ich frage nur weil ich sicher gehen möchte und zu dem Thema
                so nichts finde. Grundlegend ist das die Variable
                $hauptverzeichnis nun ja nicht verändert werden kann.
                Oder doch???

                Das grundsaetzliche Problem bei register_globals=on (einer Einstellung, die so heute nicht mehr verwendet werden sollte) ist, dass nicht im Script selber definierte Variablen "von aussen" mit einem Wert belegt werden koennen. Fragt man den Wert einer solchen Variablen nun blauaeugig ab, ohne ihn vorher selber festgelegt zu haben, reagiert das Script u.U. anders, als eigentlich beabsichtigt.

                $hauptverzeichnis = "./";
                include("$hauptverzeichnis"."includes/login_check.php");

                Nu' lass doch hier bitte endlich die Anfuehrungszeichen um $hauptverzeichnis weg!

                include($hauptverzeichnis."includes/login_check.php");

                Kann doch nicht gehen oder?? Auch nicht mit $_REQUEST $_GET $_POST??

                Selbst wenn register_globals=on waere, besteht hier keine Gefahr, weil du den Wert fuer $hauptverzeichnis ja im Script selber festlegst. (Natuerlich erst ab der Stelle, wo du ihn festlegst. Wuerdest du die Variable bereits vor dieser Zeile verwenden, waere das wieder potentiell gefaehrlich.)

                Du solltest waehrend der Entwicklung das error_reporting auf E_ALL stellen (bzw. E_ALL und E_STRICT unter PHP 5) - dann weist dich PHP auf solche "Nachlaessigkeiten" wie den Zugriff auf eine nicht definierte Variable etc. selber hin.

                MfG ChrisB

                1. $hauptverzeichnis = "./";
                  include("$hauptverzeichnis"."includes/login_check.php");

                  Nu' lass doch hier bitte endlich die Anfuehrungszeichen um $hauptverzeichnis weg!

                  LOL - Ich bin aber auch ein Schussel.

                  Vielen vielen Dank, nun hab ich es auch.

                  Gruss
                  Kodi