<?phpinclude'flag.php';error_reporting(0);//定义了一个对象:NameclassName{//使用private定义了两个变量private$username='nonono';private$password='yesyes';//使用__construct类中的魔法方法(当一个对象创建时被调用)publicfunction__construct($username,$password){//给变量赋值$this->username=$username;$this->password=$password;}//wakeup方法在对象被反序列化之前被调用function__wakeup(){//在反序列化之前会把username赋值为guest$this->username='guest';}//wakeup方法在对象销毁时被调用function__destruct(){//如果password值不等于100时执行if($this->password!=100){echo"</br>NO!!!hacker!!!</br>";echo"You name is: ";echo$this->username;echo"</br>";echo"You password is: ";echo$this->password;echo"</br>";die();}//如果username全等于admin时执行if($this->username==='admin'){global$flag;//输出flagecho$flag;}else{echo"</br>hello my friend~~</br>sorry i can't give you the flag!";die();}}}?>