Ankündigung

Einklappen
Keine Ankündigung bisher.

Datenbank-Zugangsdaten in externer PHP speichern

Einklappen

Neue Werbung 2019

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

  • Datenbank-Zugangsdaten in externer PHP speichern

    Hallo zusammen,

    wie sieht es aktuell sicherheitstechnisch damit aus, wenn man die Zugangsdaten unverschlüsselt in einer configuration.php im Hauptverzeichnis des Servers speichert und diese dann in seine PHP Scripte includiert?

    Danke schon mal für Eure Antworten
    und
    viele Grüße
    Karli

  • #2
    Was auch immer ein "Hauptverzeichnis" sein soll. Konfigurationsdateien werden außerhalb des Document Roots platziert und sind somit per HTTP nicht zugänglich.

    Kommentar


    • #3
      Danke für deine Antwort. Mit Hauptverzeichnis meinte ich das Document root. Also muss ich einen Ordner im document root erstellen, der mit htaccess vor Zugriff geschützt ist und dann einfach dort die Konfigurationsdatei rein und fertig. Ist das korrekt so?

      Und danke nochmals!

      Kommentar


      • #4
        Nein, er sagte außerhalb des document root
        [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

        Kommentar


        • #5
          Du kannst dir mal das MVC Prinzip anschauen: https://www.php-einfach.de/experte/o...roller-in-php/

          Bei Github findest du auch diverse Projekte zu MVC

          Kommentar


          • #6
            Zitat von Karli1969 Beitrag anzeigen
            Danke für deine Antwort. Mit Hauptverzeichnis meinte ich das Document root. Also muss ich einen Ordner im document root erstellen, der mit htaccess vor Zugriff geschützt ist und dann einfach dort die Konfigurationsdatei rein und fertig. Ist das korrekt so?
            Nein, eher so:

            Code:
            |
            |
            +--+ config
            |  |
            |  +-- app.config.php
            |
            +--+ wwwroot (Document Root)
               |
               +-- index.php

            Kommentar


            • #7
              Achso. Dachte, wenn es in einem Unterordner des Document Root wäre, dann wäre es schon aus dem Document Root. Das MVC ist ja interessant. Habe davon noch nie gehört, aber macht schon Sinn. Andererseits müsste ich dafür die komplette Homepage umschreiben und das ist mir nu doch wieder zu aufwendig. Zumindest vorerst. Jetzt kümmere ich mich erst mal drum, wie ich etwas außerhalb des Document Root schreiben abspeichern kann bei 1und1.

              Kommentar


              • #8
                Dachte, wenn es in einem Unterordner des Document Root wäre, dann wäre es schon aus dem Document Root.
                Es geht hier darum das man jegliche Möglichkeit per HTTP dorthin zu kommen schon von Grund auf vermeidet. Nachdem das Webroot der HTTP-Einsprungspunkt ist kannst du da nicht höher oder parallel gehen.

                Bei einem Unterordner, wie du meinst wäre die Datei ja grundsätzlich erreichbar, http://example.com/unterordner/ würde wwwroot/unterordner im Filesystem entsprechen.

                MOD: Verschoben von Datenbanken
                The string "()()" is not palindrom but the String "())(" is.

                Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                PHP.de Wissenssammlung | Kein Support per PN

                Kommentar


                • #9
                  Es geht hier darum das man jegliche Möglichkeit per HTTP dorthin zu kommen schon von Grund auf vermeidet.
                  Da gibt es dann noch mehr Fallstricke: Einige (Billig-)Hoster legen die Hauptdomain aufs Root-Verzeichnis, das kann man ggf. auch im Confixx dann nicht ändern. Hier muss man halt aufpassen, dass Configs aus Projekten in Unterverzeichnissen nicht doch über die Hauptdomain erreichbar sind. Ausserdem muss man darauf achten, dass Scripte die Dateien z.B. per file_get_contents() einlesen, oder per passthrough() durchleiten, nicht an den Pfad zu den Configs kommen.
                  [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

                  Kommentar


                  • #10
                    Habe noch nicht herausgefunden, wie man an ein Verzeichnis oberhalb des Document-Root kommt. Deshalb habe ich jetzt erst mal ein htaccess geschütztes Unterverzeichnis im Document Root angelegt und die Konfig dort rein geschoben.

                    Die htaccess sieht so aus:
                    Code:
                    AuthType Basic
                    AuthName "Passwortgeschützter Bereich"
                    AuthUserFile /kunden/homepages/XX/XXXXXX/htdocs/.htpasswd
                    require user  XXXXX
                    Wobei ich doch eigentlich sogar die letzte Zeile weg lassen können müsste, denn es will ja niemand dort direkt eine php starten oder html lesen.

                    Kommentar


                    • #11
                      Habe noch nicht herausgefunden, wie man an ein Verzeichnis oberhalb des Document-Root kommt
                      Machst den FTP auf, wechselst in das Verzeichnis auf das deine Domain zeigt - und gehst von da eins nach oben.

                      Geht nicht? Dann legst du ein Unterverzeichnis an und zeigst mit deiner Domain da drauf. Dann kannst du jedes Verzeichnis dadrüber bzw. daneben für deine Configs benutzen.

                      Wenn du das zwingend in einem Unterverzeichnis haben willst/musst, leg einfach eine htaccess an:

                      Code:
                      deny from all
                      Da hat NIEMAND etwas drin zu suchen, Passwort hin oder her, auch du selbst nicht.
                      [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

                      Kommentar


                      • #12
                        In Filezilla komme ich nicht in ein höheres Verzeichnis als Document root. Das mit dem Unterverzeichnis wäre eine gute Idee, aber das ist mir zu aufwendig.
                        Habe das 'deny from all' nun anstelle der Zeile 'require user xxxxx' geschrieben und die Seite funktioniert noch.

                        Ich glaube, das reicht mir rein sicherheitstechnisch, denn es geht mir in meinem Fall nicht darum, brisante Daten geheim zu halten, sondern nur darum, dass nicht jeder Hinz und Kunz (und das sind in meinem Fall nur Schüler oder Lehrer) Änderungen in der Datenbank (z.B. Speisepläne, Stundenpläne, Gästebuch etc) vornehmen kann.

                        Nur noch eine rein theortische Frage: Ist es denn kein Problem, wenn die htpasswd-Datei im Root liegt? Die Datei müsste doch ähnlich brisant sein, wie die configuration der Datenbank.

                        Kommentar


                        • #13
                          Zitat von Karli1969 Beitrag anzeigen
                          Nur noch eine rein theortische Frage: Ist es denn kein Problem, wenn die htpasswd-Datei im Root liegt? Die Datei müsste doch ähnlich brisant sein, wie die configuration der Datenbank.
                          Ein Webserver ist üblicherweise so konfiguriert, dass Dateien, deren Namen mit einem Punkt beginnt, nicht ausgegeben werden.

                          Kommentar

                          Lädt...
                          X