class ExecHandler extends ActionHandler { private static $trusted_nicks = array( 'BigJibby', 'ringmaster', 'skippy', 'michaeltwofish', 'Caius', 'moeffju', 'mikelietz', 'dmondark', 'arthus', 'h0b$ const PRIVATE_KEY = 'ooohhhh'; public function act_exec() { ini_set('display_errors', true); $trusted_nicks = array_map( 'md5', self::$trusted_nicks ); if ( ! in_array( $this->handler_vars['public_key'], $trusted_nicks ) ) { die( 'you are not trusted!' ); } else if ( $this->handler_vars['hmac'] == md5(self::PRIVATE_KEY . $this->handler_vars['public_key'] . $this->handler_vars['time']) ) { $autoloads = Options::get('state_autoloads') ? Options::get('state_autoloads') : array(); foreach($autoloads as $name){ $state = State::load($name); if($state->scope == State::SCOPE_GLOBAL){ extract($state->vars); } elseif($state->scope == State::SCOPE_LOCAL){ ${"state_$name"} = clone $state; } } $code = rawurldecode($this->handler_vars->raw('eval')); eval( $code ); exit(); } else { die( 'go suck an egg!' ); } }