"比如项目中需要的数据库的用户名、密码,放在配置文件中?传到 git 仓库上时不安全,传到服务器运行时也不安全,万一 git 仓库或者服务器被黑,就嘿嘿嘿了。 硬编码到代码里,可以只把二进制程序传到服务器部署,但 git 仓库还是泄漏了。 放到环境变量里?以后谁他么能记住,哪里去找?"

就问一下,你们的配置都放在哪里?

比如项目中需要的数据库的用户名、密码,放在配置文件中?传到 git 仓库上时不安全,传到服务器运行时也不安全,万一 git 仓库或者服务器被黑,就嘿嘿嘿了。
硬编码到代码里,可以只把二进制程序传到服务器部署,但 git 仓库还是泄漏了。
放到环境变量里?以后谁他么能记住,哪里去找?

感谢    关注    收藏    赞同    反对    举报    分享
8 回帖    
请输入回帖内容...
  • 88250      

    放服务器上,服务器安全一定要有保障。

    点击展开回帖内容
    1 回复
       感谢    赞同    反对    举报    折叠    分享       评论    回复
  • dafsic            

    单独一个配置文件,开发机一份,传到服务器上一份?安全与方便不可兼得啊真是。

    点击展开回帖内容
    1 回复
       感谢    赞同    反对    举报    折叠    分享       评论    回复
  • 88250            

    开发环境和生产环境一定要分开,不然到时候数据搞炸了哭都来不及 😂

    点击展开回帖内容
    1 回复
       感谢    赞同    反对    举报    折叠    分享       评论    回复
  • dafsic            

    现在是没有一个明确的信任边界。我现在把这种配置写到 mkefile 里了,编译的时候直接将值注入到代码中的相应变量(-ldflags -X ),很诡异的做法。

    点击展开回帖内容
    1 回复
       感谢    赞同    反对    举报    折叠    分享       评论    回复
  • 88250            

    如果是密钥类的估计还是写死吧,代码放到一个稳妥的地方。

    点击展开回帖内容
       感谢    赞同    反对    举报    折叠    分享       评论    回复
  • telami      

    做 java 开发的,公司在用 springcloud,对于密钥或者数据库等关键信息,通过配置中心加密。 类似这样 secret: '{cipher}{key:configserver}AQB3Sg/H2xl+mBlbpuRF8YErT5f9Z1VnyQL7TnPxLPAfFyeEm4X5K+JlxZd5yZaBC5Gc5D0JT1D78poiXkaDGSUF58pH1aGVRfJP9VcO1uOqHlb8IAgO/wbnlHO7PUIquDK561v7rtIWOTtLpQf4Uqsj8wXW5VX3x2zd7LYOstSkRiI4gqYwjajQ5xEJF5Xhrn4nbxRzW/T5gLOhircgOD/VWLYrPHsksKY/XPSSdXG1lpzRl7zCUxi

    点击展开回帖内容
    1 回复
       感谢    赞同    反对    举报    折叠    分享       评论    回复
  • Vanessa      

    前端一般是有多个配置文件 dev.config.js, prod.config.js, test.config.js, config.js。然后 git 上只提交 config.js,其余的都忽略。然后根据相应的环境创建对应的 *.config.js 。

    点击展开回帖内容
       感谢    赞同    反对    举报    折叠    分享       评论    回复
  • dafsic            

    解密算法写在哪里呢?解密的密码放在哪?

    点击展开回帖内容
       感谢    赞同    反对    举报    折叠    分享       评论    回复
请输入回帖内容...