2

我很好奇是否根据 dev.domain.com、staging.domain.com 等域名将“环境”设置为 Production、Dev、Staging 等是否是个坏主意。

有人可以编辑他们的主机文件,将 dev.domain.com 指向 domain.com,所以现在系统认为它在 Dev 中,而实际上它在 Prod 中?这意味着任何特定于开发的代码都将由一个完全陌生的人运行。

这是可能的还是有更好的方法来确定您的环境,例如在服务器变量中手动设置它?

作为参考,我正在使用 PHP。

4

3 回答 3

3

我会在机器上的服务器变量中设置环境。这使您可以在部署期间对其进行控制,并且不能被无权这样做的人弄乱。尽管如果您担心开发人员无意中连接到生产环境,那就是另一回事了。您应该通过其他一些过程控制对生产凭证的访问,例如 jndi(在 Java 世界中)或在运行时或部署时替换的环境密钥(以任何语言工作)。

于 2012-11-07T22:58:24.400 回答
0

根据域名将您的“环境”设置为生产、开发、登台等是绝对安全的。这是因为您可以完全控制您的域名。

当心:不要相信别人让你相信你的域名是什么。例如,$_SERVER['HTTP_HOST']不是您的域名。它是客户端发送给您的 HTTP Host 标头的值,因此可以自由操作。

于 2012-11-07T23:02:44.027 回答
0

这取决于您如何使用您的域?假设有 domain.com,但有几个子域,sub1.domain.com、sub2.domain.com 等,每个子域由不同的用户和/或应用程序管理!

于 2012-11-07T23:28:07.947 回答