2015-08-24 3 views
1

Приложение работает отлично в течение нескольких месяцев и внезапно (без каких-либо изменений в окружении) за последние несколько дней я начал получать «Запрещенные ключевые символы» в CI , Я прочитал все связанные темы здесь об этой проблеме, и я понимаю, что добавление символа, вызывающего исключение, является ответом на мой вопрос. Однако я не специалист в области безопасности, поэтому я хотел бы проконсультироваться с ним с людьми, у которых больше опыта в этом вопросе. В моем случае строка, которая попадается является следующее:Пустой пробел, двоеточие и триггер двоеточия Запрещенные ключевые символы в CodeIgniter

"--------------------------31329b0d7bb66ba6 

Content-Disposition: _form-данных; _name»

Как я тщательно проверил, CI не нравится 3-х символов здесь, пространство, . Точка с запятой и двоеточие безопасно, чтобы добавить их, как я сделал в моем примере здесь:

enter link description here

Кроме того, как это возможно, что проблема началась недавно происходит без каких-либо изменений кода & ENV?

Обновление 1:

После добавления изменения это выглядит как-то не так. Переменные $ _POST - это не то, что они должны были. Когда я делаю print_r ($ _ POST); Я получаю следующее:

Array 

( [-------------------------- 9926a756dcff6e27

Content-Disposition: _form-данных; _name] => "TRACKING_NUMBER"

-------------------------- 9926a756dcff6e27 Content-Disposition: форма -data; name = "carrier"

USPS -------------------------- 9926a756dcff6e27--

)

+0

meow hi michaelsan –

ответ

1

Мораль этой истории состоит в том, что кодирование данных на стороне клиента были представлены в Content-Type: применение/х-WWW-форм-urlencoded после против Content-Type: многочастному/form- data

После того как я изменил кодировку на стороне клиента, мне удалось удалить двоеточие, полуплотность и пространство от функции очистки.

Смежные вопросы