首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    静态代码扫描方法及工具介绍

    静态扫描就是不运行程序,通过扫描源代码的方式检查漏洞,常见的方法也有多种,如把源代码生成 AST(抽象语法树)后对 AST 进行分析,找出用户可控变量的使用过程是否流入到了危险函数,从而定位出漏洞;或者通过正则规则来匹配源代码,根据平常容易产生漏洞的代码定制出规则,把这些规则代入到代码中进行验证来定位漏洞。当然静态扫描由于不运行程序也有好多事情处理不了,如程序通过运算得到的一个结果后,就没办法分析这个结果了,所以需要动态运行程序来解决这个问题,也就是动态扫描,动态扫描可以通过单元测试或人工扫描等方式,下面分别介绍一下 AST 扫描 与 正则匹配两种常见静态扫描方式。

    02

    原生js之字符串截取[通俗易懂]

    slice(start, end+1), substring(start, end+1), substr(start, n). slice(start, end+1): 两个参数时,参数指截取位置,截取含头不含尾;一个参数时,默认截取到字符串结尾。参数可以为负数,负数就倒着数位置。 substring(start, end+1): 两个参数时,参数指截取位置,截取含头不含尾;一个参数时,默认及渠道字符串结尾。参数不可以为负数。 substr(start, n): 两个参数时,第一个参数指截取起始位置,第二个参数指截取字符个数;一个参数时,默认截取到字符串结尾。第一个参数可为负数,第二个不可为负数。 example: var str = “今天是星期二”; console.log(str.slice(3, 6)); // 截取“星期二”并打印 console.log(str.slice(3, -1)); // 截取“星期”并打印 console.log(str.slice(3,-3)); // 未截取任何信息,因为正着数第三位是“星”,倒着数第三位也是“星”,截取取头不取尾,头和尾重了,所以没有截取到任何信息。 console.log(str.slice(-2, -3)); // 同理因为倒数第二位是“期”,倒数第三位是“星”,不能反着截取,所以没有截取到任何信息。 console.log(str.substring(3,6)); // 截取“星期二”并打印 console.log(str.substr(3, 3)); // 截取“星期二”并打印 console.log(str.substr(-1, 3)); //截取“二”并打印。因为倒着数第一位是“二”,虽然此时要截取的长度是3,但是因为只有一位,所以只能截取一位。

    02
    领券