私はLaravel 5.1を使用しています
最近、共有ホスティングでプロジェクトをアップロードしました。しかし私が閲覧するときhttp://siteAddress.com/local/.env
.envファイルが表示されています。
フォルダビューでサイトを閲覧したい場合、このファイルを非表示にしたり、リダイレクトしたりする方法はありますか?
最後に、.env
を非表示にし、local
という名前のフォルダーのインデックスビューを無効にします。 local
に.htaccess
を作成します。
そして、これが.htaccess
のコードです
# Disable index view
Options -Indexes
# Hide a specific file
<Files .env>
Order allow,deny
Deny from all
</Files>
.envファイルがある.htaccess
ファイルを作成し、以下に示すようにコードを記述してください。
# STRONG HTACCESS PROTECTION
<Files ~ "^.*\.([Ee][Nn][Vv])">
order allow,deny
deny from all
satisfy all
</Files>
次に、URLから.envファイルにアクセスしてみます。このファイルは使用できず、内部にコードが表示されます。
Githubから削除したい場合。
同じディレクトリに新しいファイル.gitignoreを作成してください。
と行を追加
.env
以下のコードを.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>
.env
ファイルはpublic
フォルダーの外にあるため、サーバーがpublic
フォルダーをドキュメントルートとして表示するように設定されている場合、外部からは見えません。
最良の答えから:
パブリックフォルダーをドキュメントルートとして表示するようにサーバーを構成すると、そのフォルダーの1つ下のレベルのファイルは表示できなくなります。つまり、.envファイルは既に保護されており、アプリケーション全体が表示されます。 -これが、パブリックフォルダが存在する理由です、セキュリティ。 -ドキュメントルートをパブリックフォルダに設定した場合にブラウザに表示されるディレクトリは、スタイルやスクリプトなど、そこにあるフォルダのみです。
https://laracasts.com/discuss/channels/general-discussion/how-do-you-protect-env-file-from-public
ホスティングのフォルダー構造を確認し、public
フォルダーがドキュメントルートであることを確認してください。