Changeset 1293
- Timestamp:
- 02/18/06 23:44:21 (3 years ago)
- Location:
- trunk/rss
- Files:
-
- 3 modified
-
cls/search.php (modified) (2 diffs)
-
constants.php (modified) (1 diff)
-
util.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/rss/cls/search.php
r1181 r1293 106 106 } 107 107 108 $this->query = $_REQUEST[QUERY_PRM]; 108 // fixme: this probably breaks on queries with weird characters, depending 109 // on the locale. 110 // see: http://php.benscom.com/manual/en/reference.pcre.pattern.syntax.php 111 $this->query = trim(preg_replace('#[^\w\s]#','',$_REQUEST[QUERY_PRM])); 112 109 113 if (!$this->query) { 110 114 return; 111 115 } 112 116 113 $this->matchMode = (!array_key_exists(QUERY_MATCH_MODE, $_REQUEST) ? QUERY_MATCH_AND : $_REQUEST[QUERY_MATCH_MODE]); 114 $this->channelId = (array_key_exists(QUERY_CHANNEL, $_REQUEST)) ? (int) $_REQUEST[QUERY_CHANNEL] : ALL_CHANNELS_ID; 115 116 $this->resultsPerPage = (array_key_exists(QUERY_RESULTS, $_REQUEST)) ? (int) $_REQUEST[QUERY_RESULTS] : INFINE_RESULTS; 117 $this->currentPage = (array_key_exists(QUERY_CURRENT_PAGE, $_REQUEST) ? (int) $_REQUEST[QUERY_CURRENT_PAGE] : 0); 117 $this->matchMode = sanitize( 118 (!array_key_exists(QUERY_MATCH_MODE, $_REQUEST) ? QUERY_MATCH_AND : $_REQUEST[QUERY_MATCH_MODE]), 119 RSS_SANITIZER_CHARACTERS_EXT); 120 121 $this->channelId = sanitize( 122 ((array_key_exists(QUERY_CHANNEL, $_REQUEST)) ? $_REQUEST[QUERY_CHANNEL] : ALL_CHANNELS_ID), 123 RSS_SANITIZER_NUMERIC); 124 125 $this->resultsPerPage = sanitize( 126 ((array_key_exists(QUERY_RESULTS, $_REQUEST)) ? $_REQUEST[QUERY_RESULTS] : INFINE_RESULTS), 127 RSS_SANITIZER_NUMERIC); 128 129 $this->currentPage = sanitize( 130 (array_key_exists(QUERY_CURRENT_PAGE, $_REQUEST) ? $_REQUEST[QUERY_CURRENT_PAGE] : 0), 131 RSS_SANITIZER_NUMERIC); 118 132 119 133 $this->startItem = $this->resultsPerPage * $this->currentPage; … … 125 139 } 126 140 127 $this->orderBy = (array_key_exists(QUERY_ORDER_BY, $_REQUEST) ? $_REQUEST[QUERY_ORDER_BY] : QUERY_ORDER_BY_DATE); 141 $this->orderBy = sanitize( 142 (array_key_exists(QUERY_ORDER_BY, $_REQUEST) ? $_REQUEST[QUERY_ORDER_BY] : QUERY_ORDER_BY_DATE), 143 RSS_SANITIZER_CHARACTERS_EXT); 144 128 145 $qWhere = ""; 129 146 $this->regMatch = ""; -
trunk/rss/constants.php
r1275 r1293 165 165 define ('RSS_SANITIZER_NUMERIC', 0x04); 166 166 define ('RSS_SANITIZER_CHARACTERS',0x08); 167 define ('RSS_SANITIZER_CHARACTERS_EXT',0x10); 167 168 168 169 // Profiling -
trunk/rss/util.php
r1291 r1293 1183 1183 } 1184 1184 if ($rules & RSS_SANITIZER_NUMERIC) { 1185 $ret = preg_replace('#[^0-9\. ]#','',$ret);1185 $ret = preg_replace('#[^0-9\.-]#','',$ret); 1186 1186 } 1187 1187 if ($rules & RSS_SANITIZER_CHARACTERS) { 1188 1188 $ret = preg_replace('#[^a-zA-Z]#','',$ret); 1189 1189 } 1190 if ($rules & RSS_SANITIZER_CHARACTERS_EXT) { 1191 $ret = preg_replace('#[^a-zA-Z_]#','',$ret); 1192 } 1190 1193 return $ret; 1191 1194 }
