【发布时间】:2022-02-22 01:22:56
【问题描述】:
我将我的项目移至 HOST,但我仍然可以使用地址 mysite.com/.env 访问 .env 并显示该文件以及所有变量和安全数据。 我的 .env 文件:
APP_ENV=local
APP_DEBUG=true
APP_KEY=base64:xxxxxxx
APP_URL=http://localhost
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=xx
DB_USERNAME=xx
DB_PASSWORD=secret
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
如何保护此文件?这是合乎逻辑的解决方案吗?
注意:(我将所有文件移动到根目录的公共文件夹中。)
【问题讨论】:
-
Apache 默认拒绝访问以
.开头的文件。你用的是什么网络服务器? -
我的网络服务器是 Apache。
-
.env 应该在 /path/to/your/laravel-project 中。并且 /path/to/your/laravel-project/public 应该是 webroot。因此,除非您更改了默认设置,否则您应该无法访问 .env
-
stackoverflow.com/a/47355544/6517383 这个答案使用文件权限