use*_*201 5 php mysql database security
我是Web开发的新手.我很好奇人们是怎么做到的.
我正在编写一些使用mysql DB的PHP代码.我现在在代码中硬编码了密码.所有开发人员都可以检查此代码,因此每个人都可以访问密码.对我来说似乎非常错误.最重要的是,我可以想到一些并发症.我以子弹形式列出问题 -
在代码中硬编码的密码是错误的.我不希望所有开发人员都可以访问它,因为所有开发人员都可以查看代码.
如何区分生产和开发服务器/凭证?我有相同的文件包含prod和dev DB凭据.处理这个问题的最佳方法是什么?
我想防止懒惰/醉酒时间,以便开发人员不删除/删除表等.我显然可以有不同的访问不同的开发人员.所有这一切的解决方案是什么?
可能的解决方案:代码中没有密码.请devs自己添加密码,并确保它从未签入.
解决方案的问题:繁琐的部署过程.必须手动为生产/ QA部署添加密码,并确保每次部署前都能够连接到数据库.听起来太痛苦且容易出错.人们通常做什么?
也在同一张纸条上(与上述问题有关)
非常感谢任何输入.
将密码放在一个单独的PHP文件中,其中包含您的所有应用程序设置,并将其包含在页面顶部.然后,可以将此文件保留在Version Control之外,并替换每个部署.
确保您将config.php文件(或您选择的任何名称)保留在根目录之外,以便不会意外地将其提供给您应用的任何用户.此外,作为进一步的预防措施,请确保您为其提供.php扩展名,以便如果它仍以某种方式仍然提供,则应首先由PHP解析,并删除任何有用的信息(希望) - 通常的做法是因此将其命名为扩展名.conf.php或.inc.php扩展名.
至于Dev Environment,我们使用所有开发人员共享的单个数据库.它最初是从实时客户端数据创建的,克隆到我们的数据库中,出于隐私原因,某些信息被编辑/替换.在我们的开发构建中使用相同的数据库以及我们的localhost构建.
| 归档时间: |
|
| 查看次数: |
1292 次 |
| 最近记录: |