Adrian: PHP-Dateien downloaden

Hallo!

Ich habe ein bisschen Angst um Sicherheit und bin Anfänger von PHP:
Kann man eine Datei test.php vom Server runterladen, sodass der PHP-Code einsichtig wird? Ich bin mir nicht so sicher, obwohl es ja eine serverseitige Sprache ist.
Es geht darum, dass ich in der Datei test.open  "ftp://username:kennwort@www.servername.de" stehen habe (mit meinen daten) und ich mir nicht sicher bin, ob diese eingesehen werden können?

Mit freundlichen Grüßen,
Adrian

  1. Hi Adrian!

    1. Wenn du es nicht explizit erlaubst, können die Dateien nicht heruntergeladen werden. Zumindet nicht, bevor der Server den Code interpretiert hat.

    2. Zugangsdaten, Passwörter oder andere geschützte Daten solltest du in einer seperaten, geschützten Datei aufbewahren und nur gegebenenfalls in die entsprechenden Dateien einbinden.

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
      1. Zugangsdaten, Passwörter oder andere geschützte Daten solltest du in einer seperaten, geschützten Datei aufbewahren und nur gegebenenfalls in die entsprechenden Dateien einbinden.

      Genau, und dann könntest du noch einen kleinen Trick verwenden, nämlich die Dateien "#datei.inc" oder so benennen, dann per include() einbinden. Der Include funzt perfekt, aufrufen kann man die Datei jedoch nicht, da bei der Adresse "http://www.domain.de/#datei.inc" der Browser nach dem Anker "#datei.inc" innerhalb der "index.htm/php" suchen würde...

      --
      Cya, mewX
      1. Hallo Freunde des gehobenen Forumsgenusses,

        Genau, und dann könntest du noch einen kleinen Trick verwenden, [...]

        Da habe ich einen noch viel tolleren Trick:
        Nennen die Datei .htirgendwas, dann liefert der Apache sie nicht mehr aus,
        falls doch solltest du deinen Hoster wechseln.

        Gruß
        Alexander Brock

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hi!

          Genau, und dann könntest du noch einen kleinen Trick verwenden, [...]

          Da habe ich einen noch viel tolleren Trick:
          Nennen die Datei .htirgendwas, dann liefert der Apache sie nicht mehr aus,
          falls doch solltest du deinen Hoster wechseln.

          Da habe ich auch noch was Lager, was IMHO eine der besten Lösungen ist:
          Dateien, die vertauliche Daten (z.B. Datenbank-Zugriffsdaten) enthalten, sollte grundsätzlich außerhalb des DocumentRoots gespeichert werden. Da mit PHP ja der Zugriff über das Dateisystem erfolgt und nicht über HTTP, stellt dies für die Skripte keine großen Probleme dar, aber ein Zugriff über HTTP kann ausgeschlossen werden, wenn keine Sicherheitslücke im Skript existiert.

          Grüße,
          Fabian St.

          1. Hallo Freunde des gehobenen Forumsgenusses,

            Da habe ich auch noch was Lager, was IMHO eine der besten Lösungen ist:
            Dateien, die vertauliche Daten (z.B. Datenbank-Zugriffsdaten) enthalten, sollte grundsätzlich außerhalb des DocumentRoots gespeichert werden.

            Das Problem sind dann die Hoster mit unpassenden open_basedir- oder safemode-Einstellungen.

            Gruß
            Alexander Brock

            --
            Ceterum censeo Carthaginem esse delendam
            1. Hi!

              Da habe ich auch noch was Lager, was IMHO eine der besten Lösungen ist:
              Dateien, die vertauliche Daten (z.B. Datenbank-Zugriffsdaten) enthalten, sollte grundsätzlich außerhalb des DocumentRoots gespeichert werden.

              Das Problem sind dann die Hoster mit unpassenden open_basedir- oder safemode-Einstellungen.

              Dieses Argument will ich so nicht gelten lassen - einerseits ist open_basedir und safemode meist auf das Verzeichnis überhalb des DocumentRoots gesetzt und andererseits geben viele Provider dem Kunden auch die Möglichkeit, seinen persönlichen DocumentRoot auf ein bestimmtes Verzeichnis umzubiegen, welches man dann natürlich dementsprechend wählen muss.
              Ferner sind oftmals auch eigene php.ini-Konfigurationsdateien möglich, wenn PHP als CGI eingesetzt wird, was ja ebenfalls bei den meisten Providern der Fall ist.

              Grüße,
              Fabian St.

      2. echo $begrüßung;

        Genau, und dann könntest du noch einen kleinen Trick verwenden, nämlich die Dateien "#datei.inc" oder so benennen, dann per include() einbinden. Der Include funzt perfekt, aufrufen kann man die Datei jedoch nicht, da bei der Adresse "http://www.domain.de/#datei.inc" der Browser nach dem Anker "#datei.inc" innerhalb der "index.htm/php" suchen würde...

        Dann nimmt man halt http://www.domain.de/%23datei.inc und vorbei ist's mit der Pseudosicherheit.

        echo "$verabschiedung $name";

  2. Hi,

    Kann man eine Datei test.php vom Server runterladen, sodass der PHP-Code einsichtig wird?

    Hm. Ob das jemals klappen wird?
    Wenn der Code sich nicht benehmen will, wird er das auch nicht.

    Oder meinst Du "einsehbar"?

    Dann laß den Server den Code mit content-type text/plain ausliefern (meist reicht dazu, ein .txt an den Dateinamen anzuhängen, da die meisten Server .txt-Dateien als text/plain ausliefern).

    Es geht darum, dass ich in der Datei test.open  "ftp://username:kennwort@www.servername.de" stehen habe (mit meinen daten) und ich mir nicht sicher bin, ob diese eingesehen werden können?

    Ach so, Du willst verhindern, daß der Quellcode einsehbar wird.
    Dann stell sicher, daß PHP auf dem Server vorhanden und richtig konfiguriert ist.

    Noch besser: lagere Zugangsdaten in eine Datei aus, die überhaupt nicht per http aufrufbar ist, also z.B. in einem Verzeichnis außerhalb des DOCROOT liegt.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hallo MudGuard.

      Noch besser: lagere Zugangsdaten in eine Datei aus, die überhaupt nicht per http aufrufbar ist, also z.B. in einem Verzeichnis außerhalb des DOCROOT liegt.

      Oder eines, was mittels mod_access geschützt wurde.

      Einen schönen Samstag noch.

      Gruß, Ashura