PHPIDS in ZendFramework

Und weil es heute so schön ist, Artikel zu schreiben.
Bin gerade dabei mir ne Projektvorlage inkl. diverser 3rd Party Libraries zu basteln.
U.a. soll das PHPIDS mit drin sein.
Damit das sauber ins ZendFramework passt, bin ich dabei da eine Application Resource Plugin zu schreiben.

Bis jetzt sieht es so aus:

[code]
getOptions();

// get the scopes
if (!isset($options[’scopes‘])) {
throw new Zend_Application_Resource_Exception(‚No scopes are set in config‘);
}

$scopes = $this->_getScopes($options[’scopes‘]);

if (count($scopes) == 0) {
throw new Zend_Application_Resource_Exception(‚No scopes are set‘);
}

// do empty init
$init = IDS_Init::init();

// load via zend config for using of application constants
$config = new Zend_Config_Ini($options[‚configPath‘]);
$init->setConfig($config->toArray());

// run the stuff
$ids = new IDS_Monitor($scopes, $init);
var_dump($ids->run());
}

/* HELPER METHODS */
/**
* get the scopes
*
* @param array $scopesConfig
* @return array
*/
private function _getScopes(array $scopesConfig) {
// which scopes to load
$returnValue = array();
foreach ($scopesConfig as $currentScope) {
// has to be done like this because you can’t get super globals as variable variable
switch ($currentScope) {
case ‚GET‘:
$returnValue[‚GET‘] = $_GET;
break;

case ‚POST‘:
$returnValue[‚POST‘] = $_POST;
break;

case ‚COOKIE‘:
$returnValue[‚COOKIE‘] = $_COOKIE;
break;

case ‚REQUEST‘:
$returnValue[‚REQUEST‘] = $_REQUEST;
break;

default:
throw new Zend_Application_Resource_Exception(‚Bad scope type: ‚ . $currentScope);
break;
}
}

return $returnValue;
}
}
?>
[/code]

Geplant ist noch, dass man Filter und Converter in konfigurierbaren Abständen von der Webseiten herunterladen können soll und dass man die Ergebnisse einem Plugin übergeben können soll, dass das handelt.

Jemand sonst nocht gute Ideen?

GD Star Rating
loading...

Kommentar verfassen