【问题标题】:custom code analysis on cshtml files with sonarqube使用 sonarqube 对 cshtml 文件进行自定义代码分析
【发布时间】:2020-12-18 12:56:21
【问题描述】:

我们正在使用 VS19 开发一个 MVC .NET Core 项目。 我们也在使用 Devextreme。 我们有几个带有 devextreme 组件和模板的 cshtml 文件。

DevExtreme ASP.NET MVC 控件中的模板支持 ERB 样式的语法。可以使用以下结构。

  • - 执行代码。
  • - 按原样打印值(例如,John)。
  • - 打印转义 HTML 的值(John 变为 约翰)。

Implementing Templates

过去我们只使用了

  • - 按原样打印值(例如 John)。

在渗透测试中导致了一些注入。

因此我们现在只使用

  • - 打印转义 HTML 的值(John 变为 约翰)。

我们也在使用 sonarqube。现在的想法是,我们想要创建一个规则,如果有人不使用正确的转义,就会触发该规则。但我怎样才能做到这一点? 据我经过一天的研究后了解这个主题,您无法在 sonarqube 中为 (cs)html 和 c# 创建规则。这让我开始研究编写一个 roslyn 分析器,将其结果导出到 sonarqube。但我发现即使是这些也不会被 cshtml 文件触发。 不过,如果我创建匿名 js 函数,我会在 cshtml 文件中收到一些警告:

它来自哪里?如何创建应用于 cshtml 文件的自己的规则?

亲切的问候 大卫

【问题讨论】:

    标签: sonarqube devextreme roslyn-code-analysis


    【解决方案1】:

    您的场景可能是not be directly supported。我想你评论了Importing Issues from Third-Party Roslyn Analyzers (C#, VB.NET)

    SonarQube 基于(映射)扩展分析代码。现在只是猜测......

    我们将.cshtml 映射到语言类型HTML (YMMV)。这是在管理|配置 |常规设置 | HTML - {SQ_URL}/admin/settings?category=html(也包括 .jsp)。也许您的映射到 JavaScript (JS) 类型?尝试撤消映射?

    【讨论】:

      猜你喜欢
      • 2019-11-27
      • 2017-04-29
      • 1970-01-01
      • 2019-12-07
      • 2017-03-09
      • 2021-05-06
      • 2018-10-30
      • 2020-01-23
      • 2014-12-07
      相关资源
      最近更新 更多