php怎么判断这个月有多少天_一. PHP代码审计中常用代码调试函数与注释

安全帮

出品|安全帮(www.secbang.com)

概述:安全帮专注安全教育

【本章目的】

掌握代码审计中常用的代码调试函数,单引号与双引号之间的区别

【本章原理】

开发中,经常会查看变量的值,因此经常会将变量的值输出到页面以便于查看。这就需

要用到调试函数。

【测试步骤】

 1.1 双击wampmanager.exe 启用warp

1c92cc1822523ef3010b621c236918d2.png

 1.1 函数调试 echo/print

这是最简单的输出数据的调试方法,一般用来输出变量值,或者不确定程序执行到了哪个分支的情况下使用。可以一次输出多个值,多个值之间用逗号分隔。test.php代码中,定义了一个名为$a的数组,还定义了变量$secbang,其值为tsecbang。echo $secbang 输出变量 的值,即secbang

360ecf42d6973dfbeb56bc0d6e585419.png

函数 打印一个值(它的参数),只能打印出简单类型变量的值 如int,string。这里使用print $secbang 效果和echo相同

 1.2 【print_r ,var_dump,  var_export  debug_zavl_dump】

这个主要是用来输出变量数据值,特别是数组和对象数据,一般我们在查看接口返回值,

或者某些不太确定变量的时候,都可以使用这几个函数。

NO1 .print_r()可以把字符串和数字简单地打印出来,而数组则以括起来的键和值的列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n"。因此用var_dump()函数更适合调试。其格式很整齐,跟var_dump 的区别是没有类型数据,并且布尔值的false和值NULL输出为空。使用echo $a输出数组时只能输出Array,并不能输出数组的值。

b4b37da3b03452c0cac02ec61541df10.png

NO2 .print_r($a)既可以输出Array,还能输出数组的值

41e3480305bf14750009a0c778f6a4e1.png

NO3 .var_dump()判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是

变量的值并回返数据类型。

9372c279b4d2aeca731155b547bd9cdc.png

NO4 .var_dump($secbang)输出变量时,不仅输出变量值,还输出数据类型和长都

e5cc4827e58eeda2ed95c83cbab92920.png

NO5 .var_export()输出或返回一个变量的字符串表示。此函数返回关于传递给该函数的变量的结构信息,它和var_dump()类似,不同的是其返回的表示是合法的PHP代码。使用var_export($a);输出数组a的值。需要注意的一点是,var_export()对于资源型的变量会输出NULL度

51829d0204262a4456d20311a1ee8c17.png

NO6 .debug_zval_dump()输出结果跟var_dump 类似,唯一增加的一个

值是refcount,就是记录一个变量被引用了多少次,这是php的copy on write(写时复

制)的机制的一个重要特点

0feed30af310d19bd2b6c6263e3f3a31.png

  1.3 注释

NO1 . 用//开头,作为单行注释

//Author:secbang.com

echo "test"

?>

NO2 . 用#开头,作为单行注释

#Author:secbang.com

echo "test"

?>

NO3 . 用/*开头 */结尾,作为多行注释

/*Author:secbang.com

这是一个测试

*/

echo "test"

?>

1.3  双引号,单引号区别

NO1. 在PHP代码中,双引号解析变量,即双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。使用echo “$str”输出变量,解析变量$str,故输出变量$str的值simpleware4.

NO2.  而单引号不解析变量,即单引号里面的字段不进行解释,直接输出。使用echo ‘$str’不解释变量$str,所以输出$str。

作业:PHP代码中常用的调试函数有哪些? 作业提交加群 有老师来批改作业
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值