2015-10-11 4 views
4

Я использую Laravel 5.1.ENV файл видна

Недавно я загрузил свой проект в общий хостинг. но когда я просматриваю http://siteAddress.com/local/.env, мой файл .env виден.

Есть ли способ скрыть этот файл или перенаправить людей, если они хотят просматривать сайт с видом папки?

+0

Звук как отсутствующего '.htaccess' файла. – Hannes

+0

У меня есть файл .htaccess в корне. И это работает. @Hannes – smartrahat

ответ

9

Наконец-то я спрячу .env и отключить индексный указатель папки с именем local. Я создаю .htaccess в папке local.

А вот код .htaccess

# Disable index view 
Options -Indexes 

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

Теперь просмотрите все другие файлы, которые вы открыли [путем этого] (http://stackoverflow.com/questions/33069319/env-file-is-visible#comment53957510_33069414) и добавьте их в свой файл .htaccess, чтобы они могли " доступ к ним. –

1

Файл .env находится за пределами папки public, поэтому он не должен быть видимым из внешнего мира, если сервер настроен на просмотр папки public в качестве корня документа.

От лучшего ответа:

Помните, что, как только ваш сервер настроен, чтобы увидеть общую папку в качестве корневого документа, никто не может просматривать файлы, которые один уровень вниз эту папку, а это означает, что ваш .env-файл уже защищен, так как и все ваше приложение. - Вот почему есть общая папка , безопасность. - Единственные каталоги, которые вы можете увидеть в своем браузере , если вы установили корень документа в общую папку, это папки , которые есть, например стили и скрипты.

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

Проверьте структуру папок на вашем хостинге и убедитесь, что папка public является корнем документа.

+0

в моем проекте нет папки 'public'. я перемещаю все файлы из общей папки в корневую папку и перемещаю другие файлы и папки в другую папку с именем «local» (созданный мной). @Glad Чтобы помочь – smartrahat

+0

@smartrahat, вы делаете неправильно. Вы преобразовали свою корневую папку в общую папку, подвергая все конфиденциальные данные – manix

+0

@manix, я сделал это, чтобы избавиться от '/ public' после моего адреса сайта. есть ли способ защитить их существующей файловой структурой? – smartrahat

4

Пожалуйста, создайте файл .htaccess, где вы .env файл и записать код, как показано ниже:

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

Тогда попробуйте ударить. env файл из url, и он не будет доступен и отобразит коды внутри.

Если вы хотите удалить это из github.

Создайте новый файл .gitignore в том же каталоге.

и добавить строки

.env 
Смежные вопросы