2017-06-14 6 views
0

Ich arbeite mit Laravel 5.4. Und ich habe Probleme mit .env und composer.json Datei. Jeder kann von jedem Browser aus zugreifen und jeder kann meine Datenbankanmeldeinformationen sehen. Bitte helfen Sie mir, diese Dateien zu schützen.Wie sichere .env Datei in Laravel 5.4?

+1

kann niemand zugreifen, wenn Sie alles, was an/public setzen – huhu

+0

wenn ich dann öffentlich von .htaccess entfernen? –

+0

https://Stackoverflow.com/a/47355544/6517383 Diese Antwort verwendet Dateiberechtigungen –

Antwort

3

Denken Sie daran, dass, sobald Ihr Server konfiguriert ist, um den öffentlichen Ordner als Dokumentstamm anzuzeigen, niemand die Dateien auf dieser Ebene anzeigen kann, was bedeutet, dass Ihre .env Datei bereits geschützt ist, sowie Ihre gesamte Anwendung. - Das ist der Grund, dass der öffentliche Ordner da ist, Sicherheit. - Die einzigen Verzeichnisse, die Sie in Ihrem Browser sehen können, wenn Sie den Dokumentenstamm auf den Öffentlichen Ordner setzen, sind die Ordner, die dort sind, wie die Stile und Skripte.

Sie einen Test wie diese machen können:

mit dem Terminal in Ihrem Projektverzeichnis eintragen und trifft dies:

php -t public -S 127.0.0.1:80 

Die -t das Dokumentstamm bedeutet, wo die PHP-Web-in integrierten Server wird Interpreter als das Dokumentenstammverzeichnis. siehe unten -:

-t <docroot> Specify document root <docroot> for built-in web server. 

nun versuchen, die .env Datei zuzugreifen, und Sie werden sehen, dass Sie ein 404 erhalten, die die Ressource als nicht gefunden.

Natürlich ist es nur ein Beispiel, Sie müssen Ihren Server konfigurieren, um das Gleiche zu tun.

2

Niemand kann diese Dateien über den Browser anzeigen, da sich der Stamm Ihrer Website unter /public befindet und die composer.json und .env Dateien außerhalb dieses Bereichs liegen.

Die einzige Möglichkeit, diese Dateien anzuzeigen, besteht darin, sich mit dem Webserver zu verbinden und in den entsprechenden Ordner zu wechseln.

0

Stellen Sie sicher, dass es auf Ihrem .gitignore ist und Sie es lokal auf Ihrem Server erstellen.

2

Sie können in den .htaccess (stellen Sie sicher, dass Ihre .htaccess-Datei in Stammordner nicht in der Öffentlichkeit sein sollte) folgenden Code-Datei die Erlaubnis .env Datei zu verwehren

<FilesMatch "^\.env"> 
    Order allow,deny 
    Deny from all 
</FilesMatch> 
0

einfach Sie unter Code hinzufügen in Ihre .htaccess-Datei, um die Berechtigung für .env- und composer.json-Dateien festzulegen.

<Files .env> 
    Order allow,deny 
    Deny from all 
    </Files> 

    <Files composer.json> 
    Order allow,deny 
    Deny from all 
    </Files> 

Und unterhalb der Linie für

Directory Browsing deaktivieren
Options All -Indexes