在 iOS 源代码注释中包含敏感信息是不好的做法吗?
Is it bad practice to include sensitive information in iOS source code comments?
对不起,我认为这对 Google 来说应该是一个简单的问题,但结果却出奇地困难。
我正在我的 iOS 应用程序中混淆密钥。我想在混淆值上方添加一条注释,以增加阅读源代码的开发人员的清晰度。但是,我不希望此评论实质上“取消”混淆。
所以,最终的问题是,评论是否从发布版本中删除了?可以检查源代码的工具可以读取它们吗?
因此,根据 iOS 上的评论寻找一般安全实践。
注释仅包含在源代码中。绝对从任何构建、发布或调试中剥离。
如果您希望为其他开发人员提供一个框架,并希望对框架的使用者隐藏某些东西,例如 API 键,那么您应该查看您在框架中提供的注释,但是与用户 运行 的应用构建无关。其中没有源代码或注释的痕迹。
(另见 Rob 关于 API 秘密和密钥的回答。)
Duncan 是正确的 (+1),代码注释已从构建中删除。但是,“我可以在评论中包含什么”不仅仅是您分发代码的场景(例如,开源框架)的问题。作为一般规则,所有密钥、机密等都应从源代码控制中排除,即使您目前是唯一的开发人员(最终,其他开发人员可能会包含在项目中)。换句话说,不应在代码中包含应用程序机密(在源代码管理下),即使它在注释中也是如此。
代码注释应该为开发人员understand/maintain代码提供足够的信息,但永远不要向源代码管理提交秘密。
对不起,我认为这对 Google 来说应该是一个简单的问题,但结果却出奇地困难。
我正在我的 iOS 应用程序中混淆密钥。我想在混淆值上方添加一条注释,以增加阅读源代码的开发人员的清晰度。但是,我不希望此评论实质上“取消”混淆。
所以,最终的问题是,评论是否从发布版本中删除了?可以检查源代码的工具可以读取它们吗?
因此,根据 iOS 上的评论寻找一般安全实践。
注释仅包含在源代码中。绝对从任何构建、发布或调试中剥离。
如果您希望为其他开发人员提供一个框架,并希望对框架的使用者隐藏某些东西,例如 API 键,那么您应该查看您在框架中提供的注释,但是与用户 运行 的应用构建无关。其中没有源代码或注释的痕迹。
(另见 Rob 关于 API 秘密和密钥的回答。)
Duncan 是正确的 (+1),代码注释已从构建中删除。但是,“我可以在评论中包含什么”不仅仅是您分发代码的场景(例如,开源框架)的问题。作为一般规则,所有密钥、机密等都应从源代码控制中排除,即使您目前是唯一的开发人员(最终,其他开发人员可能会包含在项目中)。换句话说,不应在代码中包含应用程序机密(在源代码管理下),即使它在注释中也是如此。
代码注释应该为开发人员understand/maintain代码提供足够的信息,但永远不要向源代码管理提交秘密。