Отправленный вами URI содержит запрещенные символы - PullRequest
11 голосов
/ 08 декабря 2008

У меня есть проект воспламенителя кода, и я хотел попробовать отладить его с помощью Zend Studio. Когда я начинаю отладку, я сразу запускаю ino

"Отправленный вами URI содержит запрещенные символы."

У кого-нибудь есть идеи?

Ответы [ 3 ]

26 голосов
/ 08 декабря 2008

(при условии, что вы используете последнюю версию CodeIgniter (CI) 1.7.0)

CI довольно строго определяет, какие символы он допускает в URL. Вы можете изменить регулярное выражение, используемое для фильтрации URL-адресов.

В system / config / config.php в строке 126 указано

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';

Комментарий над этой строкой в ​​значительной степени объясняет все это и то, какое значение дозорного следует использовать, чтобы переопределить этот фильтр и разрешить все символы (т.е. полностью отключить фильтрацию).

С другой стороны, я обнаружил, что CI слишком ограничен (во-первых, он не разрешает запросы GET и хочет, чтобы все взаимодействия происходили через POST. Я нахожу это абсолютно сумасшедшим и сродни выбрасыванию ребенка из ванной). Судя по всему, я не единственный, кто считает, что CI чрезмерно ограничен, проект Kohana является форком оптимизации CI +, а именно поддержки php5 (все OO), (CI по-прежнему совместим с PHP4 за счет того, что не является возможность использовать возможности PHP5 OO).

Я предпочитаю Kohana CI, YMMV

http://kohanaphp.com/home

6 голосов
/ 10 июля 2013

Если вы используете старую версию CodeIgniter и PHP 5.4, вам нужно изменить

if ( ! preg_match("|^[" . preg_quote($this->config->item('permitted_uri_chars')) . "]+$|i", $str)) {

в

if (FALSE === preg_match("|^[" . preg_quote($this->config->item('permitted_uri_chars')) . "]+$|i", $str)) {

в /system/libraries/URI.php

2 голосов
/ 05 августа 2013

в движке Expression вы найдете это в /admin/expressionengine/config/config.php

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\\-';

изменить на

$config['permitted_uri_chars'] = ''; 

но прочитайте комментарий к строке, прежде чем сделать это.

Или не используйте ничего на основе CI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...