Я отправляю форму с полем, содержащим строку URL, которая теряет форматирование между отправкой формы и вводом в базу данных MYSQL - PullRequest
0 голосов
/ 08 октября 2018

У меня есть простая форма, написанная на PHP с использованием инфраструктуры Codeigniter.Одно из полей, представленных формой, содержит URL-адрес в форме 'http://somedomain.com/web/Api/v2.3/offers.json. Это поле и другие поля в группе форм затем вставляются в таблицу базы данных MYSQL.

Проблема заключается в том, что после вставкив поле столбца он теряет все свое форматирование, так что то, что заканчивается в таблице, выглядит примерно так:

httpsomedomaincomwebApiv23offersjson

Эта строка кода относится к классу формы для поля из представлениймодуль:

Это строка кода из модуля контроллера, который получает данные формы и упаковывает их в массив, готовый для модуля моделей, чтобы превратить его в строку SQL:

'api_url'=> $ this-> cleanInput ($ this-> input-> post (' api_uri ')),

Запустив приложение под названием Burpsuite, которое в основном является прокси-приложением, работающим на моей локальной машине, яперехватил строку сразу после отправки формы и, насколько я вижу, URL правильно отформатирован / закодирован, как показано ниже:

api_uri = http%3A% 2F% 2Fsomedomain.com% 2Fweb% 2Fapi% 2F2.3% 2Fjson & submit =

Однако при проверке поля в базе данных MYSQL запись выглядит так:

httpsomedomaincomwebapi23son

Таким образом, когда-то между отправляемой формой и вставкой в ​​базу данных строка теряет свою кодировку url.

В качестве проверки я вставил строку в формате url в поле базы данных с помощью командной строки MYSQL comnandline ивставленная строка отлично сохраняет форматирование URL.

Любые идеи / помощь будут высоко оценены

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Проверьте этот метод ...

$data = file_get_contents('php://input'); print_r($data);

0 голосов
/ 08 октября 2018

я думаю, что вы уже включили global_xss_filtering TRUE в конфигурации, попробуйте это

'api_url' => $this->input->post('api_uri', TRUE); 

, он автоматически очистит вход

...