@@ -80,6 +80,9 @@ public function createHttpRequest()
8080
8181 // path & query
8282 $requestUrl = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '/';
83+ if (!$this->binary && (!preg_match(self::CHARS, rawurldecode($requestUrl)) || preg_last_error())) {
84+ // TODO: invalid request
85+ }
8386 $requestUrl = Strings::replace($requestUrl, $this->urlFilters['url']);
8487 $tmp = explode('?', $requestUrl, 2);
8588 $path = Url::unescape($tmp[0], '%/?#');
@@ -97,17 +100,15 @@ public function createHttpRequest()
97100 }
98101 $url->setScriptPath($path);
99102
100- // GET, POST, COOKIE
103+ // POST, COOKIE
101104 $useFilter = (!in_array(ini_get('filter.default'), ['', 'unsafe_raw']) || ini_get('filter.default_flags'));
102-
103- $query = $url->getQueryParameters();
104105 $post = $useFilter ? filter_input_array(INPUT_POST, FILTER_UNSAFE_RAW) : (empty($_POST) ? [] : $_POST);
105106 $cookies = $useFilter ? filter_input_array(INPUT_COOKIE, FILTER_UNSAFE_RAW) : (empty($_COOKIE) ? [] : $_COOKIE);
106107
107108 // remove invalid characters
108109 $reChars = '#^[' . self::CHARS . ']*+\z#u';
109110 if (!$this->binary) {
110- $list = [ & $query, & $ post, & $cookies] ;
111+ $list = array( & $post, & $cookies) ;
111112 while (list($key, $val) = each($list)) {
112113 foreach ($val as $k => $v) {
113114 if (is_string($k) && (!preg_match($reChars, $k) || preg_last_error())) {
@@ -124,7 +125,6 @@ public function createHttpRequest()
124125 }
125126 unset($list, $key, $val, $k, $v);
126127 }
127- $url->setQuery($query);
128128
129129
130130 // FILES and create FileUpload objects
0 commit comments