真正的铁饭碗不是在一个地方吃一辈子饭,而是一辈子到哪都有饭吃。

函数——变量函数

上一篇 / 下一篇  2007-09-26 17:57:24 / 个人分类:php

)OJ7I W B0变量函数很方便PHPChina 开源社区门户 e\"B(I:G~!G

PHPChina 开源社区门户VQQ(R*ho2Khf

<?php
z2z;Dx:w3X0$function       = strlen;
%Y6LNj}YF/\4x0$a              = "php";
f a%aZ5jZ8FL5W:~0                                                                               PHPChina 开源社区门户:J7qy.olBS5o @'_
$b      = $function($a);
6Sl*I,\i/W0echo $b;PHPChina 开源社区门户cYT0XGB|DGL
?>PHPChina 开源社区门户)uvsh$bw H

PHPChina 开源社区门户&t d'W9@b@.~

输出结果为3

f:p-I W yEh,n0

*l!S2A&s~j'H0 PHPChina 开源社区门户X0m%XpU m%Tw:`n,E

PHPChina 开源社区门户/Nij[;vPe\q

变量存在安全风险。最显著的问题是,攻击者可能会修改用来声明函数名变量,以此来执行PHP的任何函数。例如:

7gl0`5F.U%D9A9R/F)_0

w A9?1^&wwU%a,L:GH0<?php
hR/@T W |u0$function       = exec;
4w V4t!w(`P0$a              = rm -rf;
4p`%A,n\mK s0                                                                               
_ Y{!m1LlY0$function($a);PHPChina 开源社区门户kC2L}{J
?>

4^,Da]B;hkD0

ta0Y?rJJ [0PHPd exec()命令将“放心地”在系统级执行其参数。而命令rm -rf将从根目录开始,递归地删除所有文件。最终的结果将是灾难性的。因此,一定要确保过滤所有用户信息;否则,你永远不知道接下来发生什么。PHPChina 开源社区门户6kr&Q{4\q
PHPChina 开源社区门户gxd2w gw0qQ
PHPChina 开源社区门户qWC"blKu:Q

PHPChina 开源社区门户j|3t {9PY~T

 PHPChina 开源社区门户 v/D [7p~KY|

PHPChina 开源社区门户)?+[+o1[8L p4Jr/Q*j

 PHPChina 开源社区门户5kG.W&kf{&S

PHPChina 开源社区门户}E7r'i2Z`Y,Fg

 PHPChina 开源社区门户 W D y/gB)a"X


TAG: PHP PHP基础 变量函数 可变函数 php基础

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

数据统计

  • 访问量: 14271
  • 日志数: 100
  • 图片数: 5
  • 建立时间: 2007-08-15
  • 更新时间: 2008-03-08

RSS订阅

Open Toolbar