我很好奇,如果根据域名(例如dev.domain.com,staging.domain.com)将您的“环境”设置为Production,Dev,Staging等,这是一个坏主意。
有人可以编辑他们的主机文件,将dev.domain.com指向domain.com,所以现在系统认为它在Dev中真的是在Prod吗?这意味着任何Dev特定代码都将由一个完全陌生的人运行。
这是否可行或是否有更好的方法来确定您的环境,例如在服务器变量中手动设置?
供参考,我使用的是PHP。
答案 0 :(得分:3)
我会将环境设置在计算机上的服务器变量中。这允许您在部署期间控制它,并且不能被未经授权的人弄乱。虽然如果你担心开发人员无意中连接到生产这是另一个问题。您应该通过一些其他进程控制对生产凭证的访问,例如jndi(在java世界中)或在运行时或部署时替换的环境键(适用于任何语言)。
答案 1 :(得分:0)
根据域名将您的“环境”设置为Production,Dev,Staging等绝对安全。这是因为您可以完全控制您的域名。
当心:不要相信别人让你相信你的域名是什么。例如,$_SERVER['HTTP_HOST']
不是您的域名。它是客户端发送给您的HTTP Host标头的值,因此可以自由操作。
答案 2 :(得分:0)
这取决于您如何使用您的域名?假设有domain.com但有几个子域,sub1.domain.com,sub2.domain.com等,每个子域由不同的用户和/或应用程序管理!