• 利用Sonar定制自定义JS扫描规则(三)——SSLR JavaScript Toolkit 使用说明


    在上一篇blog中讲了在sonar中如何新增自定义的JS规则,这里面比较难的地方是XPath语句的编写,而要编写正确的XPath语句,首先要拿到语法的AST,下面我们就来介绍如何使用SSLR JavaScript Toolkit 工具来得到源代码的语法树。

    首先通过在这里下载SSLR JavaScript Toolkit 工具,下载下来是一个jar包,在cmd窗口使用java -jar sslr-javascript-toolkit-1.3.jar打开这个工具,操作界面如下:

    左上方的窗口是用来输入你的源代码,右上方的窗口是来显示你的AST,最下面的窗口是来输入你的XPath规则。

    我们现在左上方输入一些简单的javascript代码,然后点击 Parse Source Code按钮,可以得到源代码的语法树:

    得到语法树后,我们也可以点击右边窗口的XML页面,得到的是语法树的XML文档。有了XML文档,就可以通过XPath轻松得到你想要的语句了。

    举个例子:比如我想得到本地变量名,即var关键字后面的变量名,可以通过XPath的语法来查询。

    在最下方的窗口输入XPath语法规则,点击Evaluate XPath按钮,如果语法正确,就会出现返回结果,并高亮选中你想要查询的代码,如下:

    如果语法错误,右边的窗口会给出提示,如果查询语句不正确,任何源代码都不会被选中。更多的XPath语法可以参考http://www.w3schools.com/xpath/
    总结:sonar其实很早就支持了对JS的代码校验,但是你如果想自己定制校验规则,最简单的方式就是通过sonar的web接口增加XPath规则,这个需要在XPath语法上多花点力气,如果写出来的查询语法不正确,可以多试几遍,用SSLR JavaScript Toolkit 可以很方便的调试。最后祝大家都可以在sonar上配置自己的自定义规则。

  • 相关阅读:
    初识分布式计算:从MapReduce到Yarn&Fuxi
    日志的艺术(The art of logging)
    关于负载均衡的一切:总结与思考
    打印中文dict list的各种姿势
    不想再被鄙视?那就看进来! 一文搞懂Python2字符编码
    什么是分布式系统,如何学习分布式系统
    再论分布式事务:从理论到实践
    从银行转账失败到分布式事务:总结与思考
    git命令
    IntelliJ idea 中使用Git
  • 原文地址:https://www.cnblogs.com/kingzzm/p/3321705.html
Copyright © 2020-2023  润新知