Esempio n. 1
0
 function init($config)
 {
     self::$conf = $config;
     if (iswaf_status !== 1) {
         return;
     }
     if (!empty($_SERVER['REQUEST_URI'])) {
         self::$gpc['get'] = rawurldecode($_SERVER['REQUEST_URI']);
     } else {
         self::$gpc['get'] = rawurldecode($_SERVER['REQUEST_URI'] = $_SERVER["PHP_SELF"] . (!empty($_SERVER["QUERY_STRING"]) ? '?' . $_SERVER["QUERY_STRING"] : ''));
     }
     if (!empty($_SERVER['HTTP_COOKIE'])) {
         self::$gpc['cookie'] = rawurldecode($_SERVER['HTTP_COOKIE']);
     }
     if (!empty($_POST)) {
         self::$gpc['post'] = self::getpost();
     }
     self::$conf['script'] = $_SERVER['SCRIPT_FILENAME'];
     self::$conf['request_uri'] = self::$gpc['get'];
     self::$conf['remote_ip'] = self::getremoteip();
     self::$conf['server_info'] = array('SERVER_NAME' => $_SERVER['SERVER_NAME'], 'SERVER_ADDR' => $_SERVER['SERVER_ADDR'], 'HOSTNAME' => isset($_ENV['HOSTNAME']) ? $_ENV['HOSTNAME'] : '');
     self::reload_conf();
     self::runapi();
     if (!self::mkdir(iswaf_database)) {
         return;
     }
     foreach (array('keys', 'conf', 'logs', 'argsdb') as $dir) {
         self::mkdir(iswaf_database . $dir);
     }
     self::allow_whitelist();
     foreach (self::$conf['defences'] as $extend => $onoff) {
         $extend = $extend;
         $onoff = is_array($onoff) ? 'on' : $onoff;
         if (strtolower($onoff) == 'on') {
             if (isset(self::$conf['plus'][$extend])) {
                 $conf = self::$conf['plus'][$extend];
             } else {
                 $conf = array();
             }
             self::extend($extend, $conf);
         }
     }
 }