Так же не будет работать проверка адресной строки на недопустимые символы из за функции
preg_quote() в которой добавился ещё один символ который теперь экранируется, но не должен был, это " - " поэтому конструкция a-z будет выглядить как a\-z и правильно работать регулярка уже не будет. Поэтому советую заменить в файле libraries/URI.php функции
_filter_uri() и
_remove_url_suffix(), на:
- Код: Выделить всё
function _filter_uri($str)
{
if ($str != '' && $this->config->item('permitted_uri_chars') != '' && $this->config->item('enable_query_strings') == FALSE)
{
if ( ! preg_match("|^[".$this->config->item('permitted_uri_chars')."]+$|i", $str))
{
header('HTTP/1.1 400 Bad Request');
show_error('The URI you submitted has disallowed characters.');
}
}
$bad = array('$', '(', ')', '%28', '%29');
$good = array('$', '(', ')', '(', ')');
return str_replace($bad, $good, $str);
}
- Код: Выделить всё
function _remove_url_suffix()
{
if ($this->config->item('url_suffix') != "")
{
$this->uri_string = preg_replace("|".$this->config->item('url_suffix')."$|", "", $this->uri_string);
}
}