如何安全配置Laravel项目中的.env文件环境变量?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1107个文字,预计阅读时间需要5分钟。
如果您需要在Laravel项目中配置某项设置,以下是一个简化的开头内容:
一、确保 .env 文件位于项目根目录且未被版本控制
Laravel 在启动时自动从项目根目录加载 .env 文件,该文件不应提交至 Git 等版本控制系统,否则数据库凭证、API 密钥等敏感信息将被公开。
1、确认 .env 文件存在于与 artisan 和 composer.json 同级的目录下。
2、检查项目根目录下的 .gitignore 文件是否包含 .env 行;若无,请手动添加并保存。
3、若该文件此前已被提交,执行 git rm --cached .env 并提交一次空删除记录,再重新添加到 .gitignore。
二、设置正确的文件系统权限
Web 服务器进程(如 Apache 或 Nginx)仅需读取 .env 文件,不应允许写入或执行,同时必须禁止通过 HTTP 直接访问该文件。
1、在 Linux/macOS 系统中运行 chmod 644 .env,确保所有者可读写、组用户和其他用户仅可读。
2、确认 Web 服务器配置已禁用对 .env 的直接响应:Nginx 需包含 location ~ /\.env { deny all; };Apache 需启用 mod_rewrite 并确保 .htaccess 中有 deny from all 对应规则。
本文共计1107个文字,预计阅读时间需要5分钟。
如果您需要在Laravel项目中配置某项设置,以下是一个简化的开头内容:
一、确保 .env 文件位于项目根目录且未被版本控制
Laravel 在启动时自动从项目根目录加载 .env 文件,该文件不应提交至 Git 等版本控制系统,否则数据库凭证、API 密钥等敏感信息将被公开。
1、确认 .env 文件存在于与 artisan 和 composer.json 同级的目录下。
2、检查项目根目录下的 .gitignore 文件是否包含 .env 行;若无,请手动添加并保存。
3、若该文件此前已被提交,执行 git rm --cached .env 并提交一次空删除记录,再重新添加到 .gitignore。
二、设置正确的文件系统权限
Web 服务器进程(如 Apache 或 Nginx)仅需读取 .env 文件,不应允许写入或执行,同时必须禁止通过 HTTP 直接访问该文件。
1、在 Linux/macOS 系统中运行 chmod 644 .env,确保所有者可读写、组用户和其他用户仅可读。
2、确认 Web 服务器配置已禁用对 .env 的直接响应:Nginx 需包含 location ~ /\.env { deny all; };Apache 需启用 mod_rewrite 并确保 .htaccess 中有 deny from all 对应规则。

