web-dev-qa-db-ja.com

.ENVファイルが表示されている

私はLaravel 5.1を使用しています

最近、共有ホスティングでプロジェクトをアップロードしました。しかし私が閲覧するときhttp://siteAddress.com/local/.env .envファイルが表示されています。

フォルダビューでサイトを閲覧したい場合、このファイルを非表示にしたり、リダイレクトしたりする方法はありますか?

14
smartrahat

最後に、.envを非表示にし、localという名前のフォルダーのインデックスビューを無効にします。 local.htaccessを作成します。

そして、これが.htaccessのコードです

# Disable index view
Options -Indexes

# Hide a specific file
<Files .env>
    Order allow,deny
    Deny from all
</Files>
26
smartrahat

.envファイルがある.htaccessファイルを作成し、以下に示すようにコードを記述してください。

# STRONG HTACCESS PROTECTION
<Files ~ "^.*\.([Ee][Nn][Vv])">
 order allow,deny
 deny from all
 satisfy all
</Files>

次に、URLから.envファイルにアクセスしてみます。このファイルは使用できず、内部にコードが表示されます。

Githubから削除したい場合。

同じディレクトリに新しいファイル.gitignoreを作成してください。

と行を追加

.env
12
Prashant Barve

以下のコードを.htaccessファイルに追加して、ディレクトリリストを無効にし、.envファイルのアクセスを制限できます。

# Disable Directory listing
Options -Indexes

# block files which needs to be hidden, specify .example extension of the file
<Files ~ "\.(env|json|config.js|md|gitignore|gitattributes|lock)$">
    Order allow,deny
    Deny from all
</Files>
3
Kamlesh

.envファイルはpublicフォルダーの外にあるため、サーバーがpublicフォルダーをドキュメントルートとして表示するように設定されている場合、外部からは見えません。

最良の答えから:

パブリックフォルダーをドキュメントルートとして表示するようにサーバーを構成すると、そのフォルダーの1つ下のレベルのファイルは表示できなくなります。つまり、.envファイルは既に保護されており、アプリケーション全体が表示されます。 -これが、パブリックフォルダが存在する理由です、セキュリティ。 -ドキュメントルートをパブリックフォルダに設定した場合にブラウザに表示されるディレクトリは、スタイルやスクリプトなど、そこにあるフォルダのみです。

https://laracasts.com/discuss/channels/general-discussion/how-do-you-protect-env-file-from-public

ホスティングのフォルダー構造を確認し、publicフォルダーがドキュメントルートであることを確認してください。

2
Glad To Help