如何解决旧版 ASP.NET MVC 代码安全和重构问题?

问题描述 投票:0回答:1

我最近加入了一家使用 .NET 的公司,特别是使用较旧的 ASP.NET MVC 代码库。作为一名新员工和初级开发人员,我正在考虑向 Stack Overflow 寻求有关重构和代码升级的建议。

我公司的业务是B2B,所以我们信任所有的用户。然而,我担心缺乏防伪措施以及潜在的 SQL 注入漏洞。

没有防伪保护,并且 SQL 查询是以这样的易受攻击的方式构造的:

"select " + userInput + "from table";

我应该只专注于设计一个健壮的登录界面而对代码视而不见,还是应该积极倡导重构以增强安全措施?

作为一名初级开发人员,我想为我的公司及其代码库做出贡献。不过,现有代码超过40,000行,并且已经运行得很流畅。我犹豫是否要做出改变,因为这感觉工作量很大,而且有人认为我可能会创建不必要的任务。

asp.net asp.net-mvc asp.net-mvc-4
1个回答
0
投票

您应该咨询您的团队领导、首席开发人员或经理,而不是询问我们。每个代码库都包含权衡和妥协的结果的代码。其中有些是非自愿的(即程序员不知道更好),有些是明确的 - 即程序员、架构师等明确决定以某种方式做事。

有时,如果幸运的话,团队会将此类决策记录为 ADRs,但通常情况并非如此。因此,您无法从代码库中得知事情为何如此。相反,你必须像任何其他类型的侦探一样进行调查。这通常涉及与其他人交谈。

举个例子,我同意 SQL 注入漏洞是严重的。但是,该站点可能专门在所有用户都受到信任的内部网络上运行。这并不意味着它绝对安全,因为即使是内部网络也可能被破坏。但是,可能还有其他减轻处罚的情况。

最后,安全问题通常通过执行“威胁建模”来解决,这是一个涉及多个利益相关者的过程。在威胁建模过程中,利益相关者可能决定采取一些缓解措施,同时接受其他风险而不采取缓解措施。 因此,如果没有人希望你修复某些东西,你不应该在黑暗中呆上几周,努力修复它。

现在,诚然,正如罗伯特·C·马丁(Robert C. Martin)一再指出的那样,您还应该考虑自己的职业操守,因此上述所有内容并不意味着您无需承担责任,即使您的上级告诉您不要这样做担心某些安全措施。但由于您没有详细描述系统的具体功能,因此我们无法就细节提供建议。

© www.soinside.com 2019 - 2024. All rights reserved.