Кодовая строка в коде строки - PullRequest
0 голосов
/ 27 января 2012

У меня есть форма с полем ввода, которая принимает URL.

Все работает нормально, пока кто-то не попытался отправить URL с элементами, закодированными в URL. URL выглядит примерно так

http://example.com/a=xx&b=%23yy

Я получаю эту строку как http://example.com/a=xx&b=#yy

Даже перед любой проверкой формы, $this->input->post('url') декодирует закодированные в URL элементы. Мне нужно получить его точно так же, как и введено.

Я пытался использовать обычную и составную форму.

Есть идеи, что это вызывает?

Ответы [ 2 ]

0 голосов
/ 27 января 2012

Возможно, входной класс CodeIgniter содержит в себе магию. Попробуйте напечатать ваш $ _POST напрямую. Этот URL там не затрагивается?

0 голосов
/ 27 января 2012

Вы установили XSS-фильтрацию на TRUE в глобальном масштабе в application / config.php?

$config['global_xss_filtering'] = TRUE;

Если это так, вы можете отключить фильтрацию, установив необязательный параметр следующим образом:

$this->input->post('url', FALSE)

Также проверьте, не являются ли «Разрешенные символы URL» в application / config.php нормальными.

Я бы также поигрался с URLEncode / декодировал как на стороне клиента, так и на стороне сервера.

...