Bro*_*olf 7 c# compiler-construction security deployment debugging
我想知道决定部署一个构建在Debug(带有调试符号表)的应用程序的优缺点,并且与释放符号被剥离的Release模式相反.还有其他一些排列,例如打开Debug的优化和打开Release的调试符号.
我认为可能引起关注的领域是(你可能认识其他人):
但我不是专家,因此我不确定部署Debug应用程序对这些领域的影响.
它可能不相关,但是这个应用程序是一个C#.Net框架3.5(管理数据库的业务应用程序).这是(付费)客户的申请.
选择这样做有明显的优点或缺点吗?
安全性:调试和发布托管代码(如 C#)如果不进行混淆,就已经很容易受到攻击。通过混淆来保护您的代码,否则它很容易被复制、窃取,任何安全措施(例如加密)都会被破解(在本例中您提到了客户的太字节数据)。我在这里回答了一个令人困惑的问题。另外,创建一个密钥文件并签署您的程序集。
性能:调试速度肯定较慢,永远不应该发布调试版本。如果使用 AJAX 会使每个页面请求更重,因为调试版本更大。将应用程序配置文件的调试标志设置为 false,我在另一个问题中包含了一些类似的提醒。
稳定性:调试使用更多内存,如果服务器内存不足,稳定性可能会较差。拥有调试 dll 的一个优点是,如果应用程序失败,您的 pdb 文件已经就位。最佳实践是将调试版本保存在您构建的每个发布版本的安全位置。如果客户要求您调试,请备份他的文件夹并将其替换为您相应的调试程序集。
我开发了一个归档产品,该产品也归档了太字节的数据,我不建议部署调试版本并确保它被混淆,并使用 Dotfuscator 加密文件加密方法。
| 归档时间: |
|
| 查看次数: |
1388 次 |
| 最近记录: |