`
shake863
  • 浏览: 661467 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

php __get 函数一个隐藏问题

    博客分类:
  • php
阅读更多
<?php
/**
 * Copyright (c) 2009
 * All rights reserved.
 * 
 * 名    称:
 * 摘    要:
 * 版    本:1.0
 * @author zhoudan
 * @since 10.03.24 17:06:53
 */


class App{
    public $a = array(1,2,3,4);
   
    function &getA()
    {
        return $this->a;
    }
	
	function p()
	{
		print_r($this->a);
	}
}

class Test{
	
	private $app;
	
	function __get($name)
	{
		if($name === "a")
		{
			$this->a = &$this->app->getA();
			return $this->a;
		}
	}
	
	public function __construct(App $app)
	{
		$this->app = $app;
	}
	
	public function p()
	{
		$a = &$this->a;
		$a[0] = 100;
		//$this->a[0] = 100;
		$this->test();
		print_r($this->a);
	}
	
	public function test()
	{
		$test = &$this->a;
		$test[1] = 100;
	}
}

$app = new App();
$test = new Test($app);

$test->p();
$app->p();

?>
 
分享到:
评论

相关推荐

    PHP file_get_contents函数读取远程数据超时的解决方法

    在PHP编程中,file_get_contents函数是一个常用的函数,用于将整个文件读入一个字符串。由于其使用方便性,file_get_contents函数常被用于读取远程数据,如通过HTTP或FTP协议获取文件内容。然而,在网络状况不佳或...

    PHP register_shutdown_function函数的深入解析

    要使用`register_shutdown_function`,你需要传递一个函数名(或匿名函数)作为参数。当注册的函数被调用时,它会接收到一个可选的参数,即`shutdown`事件的原因。在PHP 7.4及更高版本中,这个参数是一个`...

    WordPress主题函数使用技巧

    这里利用了`add_filter()`函数注册了一个名为`the_generator`的过滤器钩子,并定义了一个名为`wpbeginner_remove_version`的函数用于清除WordPress版本号信息。 **4. 给WordPress控制面板添加自定义Logo** 为了使...

    PHP HTTP客户端(GET POST SOAP SOCKET)

    以下是一个简单的示例: ```php $client = new SoapClient('http://example.com/soap/service?wsdl'); $result = $client-&gt;__soapCall('functionName', array('param1', 'param2')); ``` 关于SOCKET,PHP提供...

    PHP 核心编程技术 个人学习文档

    复选框数据的接收形式通常是一个数组,可以通过foreach循环遍历来处理这些数据,例如检查哪些选项被选中。 文件上传是PHP处理用户上传文件的功能,其原理是客户端通过表单提交包含文件的请求,服务器端接收后暂时...

    php_go.zip

    【标题】:“php_go.zip” 是一个包含PHP URL跳转代码的压缩文件,它提供了两种实现方式来实现在网站上的页面重定向。 【描述】:这个压缩包的主要目的是帮助开发者理解并实施PHP中的URL跳转功能。在网站的根目录下...

    Wordpress函数详解

    `bloginfo()` 是一个非常实用的函数,用于展示与博客相关的各种信息。这个函数能够根据传入的不同参数来显示不同部分的信息。以下是一些常见参数及其作用: - **`'name'`**:显示博客的名称。 - **`'description'`*...

    PHP入门基础知识点、函数

    封装是将数据和操作数据的函数绑定在一起,形成一个独立的单元,可以隐藏实现细节;继承是一种机制,允许一个类继承另一个类的属性和方法,提高代码的重用性;多态是指同一个操作作用于不同的对象,可以有不同的解释...

    自己整理的一个JS函数库 AJAX dom隐藏显示 数据整理 只有12KB 压缩后5kb

    自己整理的一个JS函数库 AJAX dom隐藏显示 数据整理 只有12KB 压缩后5kb 使用方法 引入文件 然后就可以直接使用了 具体函数方法如下 /* $(id) 根据元素id返回对象 N(name, i) 根据元素name返回对象,可能会有多个...

    分享自定义的几个PHP功能函数

    隐藏文件的真实路径同样是一个常见的安全措施,它通过替换真实的文件路径来避免敏感信息泄露。 在Web开发中,数据安全和隐私保护是核心关注点之一,这些自定义函数在实际应用中能够有效提升应用的安全性和健壮性。...

    media_web_cfg.rar_PHP 文件操作_js as socket php_js sock_js网页配置_sock

    1. PHP 文件操作:在PHP中,文件操作是通过内置的文件系统函数进行的,例如`file_get_contents()`用于读取文件内容,`file_put_contents()`用于写入文件,`fopen()`和`fclose()`用于打开和关闭文件流,以及`fread()`...

    BUUCTF-Web-Mark loves cat变量函数覆盖

    这个案例展示了如何利用变量覆盖漏洞来获取隐藏的信息,并强调了在编写PHP代码时,正确处理用户输入和防止变量覆盖的重要性。在进行代码审计时,务必关注这些潜在的风险点,以提高应用程序的安全性。

    PHP面向对象技术(全面讲解)

    继承允许一个类(子类)继承另一个类(父类)的属性和方法,增强了代码复用。多态是指不同对象对同一消息做出不同响应的能力。接口(Interface)定义了必须被类实现的特定方法签名,确保类的行为一致性。 8. 重载...

    php手册,php手册,php手册,php手册,php手册

    在函数库方面,PHP 5.2.6包含了丰富的内置函数,如字符串处理函数str_replace(), 文件操作函数file_get_contents(), 数据类型转换函数json_encode()等,这些函数极大地提高了开发效率。同时,该版本还支持MySQLi和...

    PHP常用函数大全

    12. **echo**: 输出一个或多个字符串,是最基本的输出函数,几乎在所有PHP程序中都会使用。 13. **explode**: 使用指定的分隔符将字符串拆分为数组,是处理CSV数据、URL参数或其他以固定格式分隔的字符串的常用方法...

    php面向对象程序设计类

    - `__get($name)`:当尝试访问一个不存在的属性时,PHP会调用`__get()`方法。这允许我们动态地添加属性或者处理属性获取时的逻辑: ```php class MyClass { public function __get($name) { // 在这里处理获取...

    PHP_web 技术

    **`$_REQUEST`** 是一个特殊的超全局变量,它是 `$_GET`、`$_POST` 和 `$_COOKIE` 的总集合,可以根据需要选择性地使用。 综上所述,Session 和 Cookie 都是在 Web 应用中非常重要的概念,它们帮助开发人员实现状态...

    dede批量Getshell

    1. `gdede.php`: 这可能是一个修改过的DEDECMS组件或者插件,包含有恶意代码,用于实现Getshell。 2. `dede.php`: 这很可能是DEDECMS的核心文件之一,攻击者可能篡改了这个文件以植入后门。 3. `说明.txt`: 这个文件...

    php分页,代码很简单

    8. **优化用户体验**:可以添加一些额外的特性,如隐藏不活跃的页码,或者在临近当前页的页码之间添加省略号,以提高用户体验。 以上就是实现PHP分页的基本流程。在实际应用中,可能还需要考虑其他因素,如安全...

Global site tag (gtag.js) - Google Analytics