PHP常见高危函数

PHP代码执行与命令执行的函数

1.常见函数列表

函数作用
eval()它可以执行传入的字符串作为 PHP 代码,并返回执行后的结果。
assert()会将字符串当做 PHP 代码来执行
preg_replace()是 PHP 中的一个字符串操作函数,用于对字符串进行正则表达式替换
call_user_func()用于调用一个可以调用的函数并传递参数
call_user_func_array()函数与 call_user_func() 函数类似,都可以用来动态调用函数或方法,不同之处在于它通过一个数组来传递参数,而不是多个参数。
array_map()主要作用是将原始数组的每个元素都通过回调函数进行处理,并返回一个新的数组,其中新数组的元素的数目与原始数组的元素数目相同
a ( a( a(b)动态调用一个函数或方法
system()用于执行外部程序并将结果返回给 PHP 脚本,主动输出结果。
shell_exec()用于执行外部程序并获取结果作为一个字符串返回给 PHP 脚本。与 exec() 不同,shell_exec() 函数会返回整个程序的输出结果,而不仅仅是最后一行输出的信息。
exec()用于执行外部程序,要用echo输出,只输出最后一行数据。
passthru()用于执行外部程序并将结果直接输出到浏览器上
popen()函数在 PHP 中打开一个管道并执行指定的外部命令或程序,即类似于在操作系统的命令行下运行命令并将结果输出到终端上的操作。
反引号反引号 ` 内的字符串,会被解析成OS 命令执行。

2.下面演示函数的基本使用:

  1. eval函数的用法:会将传入的符合PHP语法的字符串当作代码执行,返回执行结果。
    在这里插入图片描述
  2. assert函数的用法:会将传入的符合PHP语法的字符串当作代码执行,只能接受单条PHP语句。
    在这里插入图片描述
  3. preg_replace:字符串正则匹配替换函数,按正则匹配字符串内容,然后进行替换。
    在这里插入图片描述
  4. call_user_func:调用用户自定义的可调函数,并传入参数,第一个参数是指定调用的函数名,第二个之后的多个参数是传入的实参值。
    在这里插入图片描述
  5. array_map: 将原始数组的每个元素都通过回调函数进行处理,并返回一个新的数组。
    在这里插入图片描述
  6. system:用于执行操作系统命令,主动输出。
    在这里插入图片描述
  7. exec:用于执行操作系统命令,只输出结果最后一行,需要用echo、printf等语句输出。
    在这里插入图片描述
  8. shell_exec:用于执行系统命令,结果全部输出,需要使用输出语句echo、print等,功能比exec函数强大。
    在这里插入图片描述
  9. passthru:用于执行系统命令,主动全部输出。
    在这里插入图片描述
  10. popen():函数在 PHP 中打开一个管道并执行指定的外部命令或程序,即类似于在操作系统的命令行下运行命令并将结果输出到终端上的操作。popen() 函数接收两个参数:第一个参数是要执行的外部命令,第二个参数是命令的执行模式,可以是 “r”(只读模式)或 “w”(只写模式)。
    在这里插入图片描述
  11. 反单引号 ` 将反单引号中的内容当作操作系统命令执行。
    在这里插入图片描述
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值