8.4 PHP代码解析标签
PHP有几种解析标签的写法来标识PHP代码,比如最标准的<?php?>,当PHP解析器找到这个标签的时候,就会执行这个标签里面的代码,实际上除了这种写法外还有一些标签,分别如下:
1)脚本标签 :<script language="php">...</script>,这种方式写法有点像JavaScript,不过也是可以正常解析PHP代码。
2)短标签 :<?…?>,使用短标签前需要在php.ini中设置short_open_tag=on,默认是on状态。
3)asp标签 :<%…%>,在PHP 3.0.4版后可用,需要在php.ini中设置asp_tags=on,默认是off。
因为有的程序在后台配置模板的时候,禁止提交<?php?>这样的标签来执行PHP代码,但是大部分程序会存在过滤不全的问题,所以这些各式各样的写法常常用于留后门以及绕过Web程序或者waf的防护写入webshell。
我们来测试脚本标签方式,测试代码如下:
<script language="php">
phpinfo ()
</script>
执行后如图8-6所示。
图 8-6
可以看到PHP代码可以正常解析执行。